我見過人們使用看起來像的代碼
const STUFF_MAP = Object.create(null);
STUFF_MAP想建議只像地圖一樣使用,所以我理解為什么使用Object.create(null)比{}(洗掉可能導致沖突的屬性等)更好,但不只是使用有什么好處
const STUFF_MAP = new Map();
我什么時候使用每一個?它與被編譯為pre es6有關嗎?
uj5u.com熱心網友回復:
它與被編譯為pre es6有關嗎?
是的,Object.create(null)是 ES5 Map,如果您需要支持舊瀏覽器,則不需要polyfill 。
除此之外,您應該更喜歡更現代的Map,這也清楚地表明了變數的用途。您將需要訪問使用集合has/ get/set方法,而不是in運營商/括號語法/分配。這有時會導致代碼不那么簡潔,例如,對于遞增值,您不能使用復合賦值運算子。
至于性能,應該沒有太大區別;如果您關心,請為您的特定情況做一個基準測驗。
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/404564.html
標籤:
下一篇:按順序存盤鍵值的值?
