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

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)好处是不用考虑会和原型链上的属性重名问题

你可能感兴趣的:(Javascript 中 Object.create(null) 和 {} 的区别)