在ECMAScript中6,I有两个方法来定义的字典:性能
传统方法(带dictionary = Object.create(null)
):
集属性:
dictionary.key = value
或dictionary[key] = value
获取属性:
dictionary.key
或dictionary[key]
使用地图(与dictionary = new Map()
):
设置的参考:
dictionary.set(key, value)
得到一个参考:
dictionary.get(key)
在V8中,都给予同样的性能?
你应该决定你需要,而不是对性能的语义。 – Bergi
但我的问题真的是关于性能,更好的语义是什么? – DMaster
那么,他们有*不同*的语义。除了对象被限制在字符串键之外,你还需要考虑原型继承,所以'Object'实例不是最好的想法,如果有的话,你可以使用'Object.create(null)'。但通常情况下,如果字典可用,则需要使用“Map”。 – Bergi