人生不是一种享乐,而是一桩十分沉重的工作。 ——<列夫·托尔斯泰>
当您想要使用javascript对象作为散列映射(纯粹用于存储数据)时,您可能想要如下所示创建它。
1 | const map = Object.create(null); |
当使用object literal(const map ={})
创建映射时,该映射默认会继承object
的属性。它相当于Object.create(Object.prototype)
。
但是通过Object.create(null)
,我们显式地指定null
作为它的原型。它绝对没有属性,甚至没有构造函数,toString, hasOwnProperty
等,你可以在数据结构中自由使用这些键。
1 | const dirtyMap = {}; |
注:
Object.create()
是在ES5
中引入的: Compatibility
ES6
引入了一些新的结构: Map
, WeakMap, Set
和Weak Set
参考
关注【公众号】,了解更多。
赞赏一下 坚持原创技术分享,您的支持将鼓励我继续创作!