在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