Object.create(null)和{}的区别?

104 阅读1分钟

Object.create(null)会创建一个没有原型链的对象,这样得到的对象非常“纯净”,不存在从原型链继承而来的属性和方法。所以在其上能使用的就只是自己后续明确声明添加的那些方法,不会出现因原型链继承而可能意外调用到一些非预期的原型方法的情况,在一些特定场景下,比如想要完全从零构建一个不被原型影响的对象结构时,它就很有用。