【发布时间】:2022-01-05 19:47:57
【问题描述】:
我见过人们使用看起来像这样的代码
const STUFF_MAP = Object.create(null);
STUFF_MAP 只建议像地图一样使用,所以我理解为什么使用Object.create(null) 比{} 更好(删除可能导致冲突等的属性),但有什么好处不仅仅是使用
const STUFF_MAP = new Map();
我什么时候会使用每一个?和编译到pre es6有关系吗?
【问题讨论】:
-
我认为该代码可能早于
Map类型。 -
几乎没有理由使用
Object.create(null),只需使用{} -
Maps 对于可以用作键的内容更加灵活,但除此之外它们与使用普通对象并没有太大区别。
-
但是您以不同的方式访问它们,因此它们不可互换。
-
我对此表示怀疑,但您必须对其进行基准测试。
标签: javascript dictionary javascript-objects es6-map