【发布时间】:2018-07-11 01:48:08
【问题描述】:
我正在阅读 Eloquent JavaScript (https://eloquentjavascript.net/),在第 6 章中,Marjin Haverbeke 建议创建我们自己的地图版本的一种方法是使用 Object.create(null)。书中给出的例子是
console.log("toString" in Object.create(null)); //null
我尝试使用这种方法创建地图。这是我所做的:
let ages = Object.create(null);
ages = {Boris : 29, Liang : 22, > Julia : 62};
console.log("Do we know toString's age?", 'toString' in ages);
//returns true
我希望最后一个 console.log 返回 false,但它返回 true。为什么是这样?如何使用这个想法来创建一个不继承 toString 属性的地图? 注意:我模糊地知道地图数据类型,但我试图弄清楚这一点以便理解概念。
【问题讨论】:
标签: javascript object prototype