Object.create(null)

Posted lee88688

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Object.create(null)相关的知识,希望对你有一定的参考价值。

使用Object.create(null)产生的对象是一个没有原型的对象,相对于直接使用 产生的对象,后者会产生一个原型链接到Object.prototype,前者相当于一个纯净的map不会有Object.prototype的属性或者方法污染,自然前者遍历的时候也不需要使用hasOwnProperty来判断当前属性是否为自有的。

Object.create函数的作用就是创建一个对象,并且让对象的原型为函数提供的参数。null作为一个对象,它是Object.prototype的原型,通过下面的代码可以验证。而现有的很多方法例如toString、valueOf等都是来自于Object.prototype,因此如果对象的原型时null,那么这个对象将不包含任何Object.prototype的函数和变量。

Object.prototype.__proto__ === null

以上是关于Object.create(null)的主要内容,如果未能解决你的问题,请参考以下文章

Object.create(null)的解释

Object.create(null)的解释

jslint:如何抑制'预期的'Object.create(null)',而是看到'新对象'。警告?

Object.create(null)和{}创建对象的区别

object.create(null) 和 {}创建对象的区别

javascript オブジェクトの生成Object.create(null)