Object.create(null)
没有继承任何原型方法,也就是说它的原型链没有上一层。
null
是没有任何属性和方法的。继承了一个null
,所以里面没有任何东西。
console.log({}.toString); // function toString() { [native code] }
console.log(Object.create(null).toString); // undefined
其中,{}
相当于 Object.create(Object.prototype)
使用Object.create(null)
好处是不用考虑会和原型链上的属性重名问题