成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

如果你僅僅是想要用對象保存數(shù)據(jù),請用Object.create(null),而不是對象字面量

NusterCache / 1176人閱讀

摘要:當你想用對象作為一個映射完全用來儲存數(shù)據(jù),你應該按如下方式來創(chuàng)建它。當創(chuàng)建一個映射使用對象字面量時默認情況下,這個映射從這個對象繼承屬性。但是通過我們明確指定作為它的屬性。標注如果你僅僅是想要用對象保存數(shù)據(jù),建議這種方式

當你想用javascript對象作為一個hash映射(完全用來儲存數(shù)據(jù)),你應該按如下方式來創(chuàng)建它。
const map = Object.create(null); 
當創(chuàng)建一個映射使用對象字面量時(const map = {}),默認情況下,這個映射從這個對象繼承屬性。這和 Object.creatd(Object.prototype)創(chuàng)建時相等的。

但是通過 Object.create(null),我們明確指定 null 作為它的屬性。因此它相當于沒有屬相,甚至沒有constructor, toString, hasOwnProperty等方法。因此你可以隨意使用這些鍵值在你的數(shù)據(jù)結(jié)構中,只要你需要。

const dirtyMap = {};
const cleanMap = Object.create(null);

dirtyMap.constructor    // function Object() { [native code] }

cleanMap.constructor    // undefined

// Iterating maps

const key;
for(key in dirtyMap){
  if (dirtyMap.hasOwnProperty(key)) {   // Check to avoid iterating over inherited properties.
    console.log(key + " -> " + dirtyMap[key]);
  }
}

for(key in cleanMap){
  console.log(key + " -> " + cleanMap[key]);    // No need to add extra checks, as the object will always be clean
}

標注:如果你僅僅是想要用對象保存數(shù)據(jù),建議這種方式:

const map = Object.create(null)

文章版權歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/95619.html

相關文章

  • 關于原生js的一些研究

    摘要:這個屬性本身又是一個類型的對象,原型對象都包含一個指向構造函數(shù)的指針,而每一個實例也都包含一個指向原型對象內(nèi)部的指針。 前陣子忙于準備CET-6,沒時間更新文章,之后大概一個月將忙于準備期末考,也應該不會更新了,今天趁周末有時間再更新一篇最近研究的一些東西吧。 callee和caller function inner(){ console.log(arguments.calle...

    wind3110991 評論0 收藏0
  • 《JavaScript語言精粹》內(nèi)容精選

    摘要:最近在讀語言精粹這本書,作者是是一名來自的資深架構師,以創(chuàng)建和維護格式而為大家所熟知。三元運算符有三個運算數(shù)。嘗試從的成員屬性中取值將會導致異常。這個過程稱為委托。通過可取得它們所屬對象的上下文的方法稱為公共方法。 最近在讀《JavaScript語言精粹》這本書,作者是 Douglas Crockford;Douglas Crockford是一名來自 Yahoo!的資深JavaScri...

    SimonMa 評論0 收藏0
  • JavaScript中真正的哈希映射(譯)

    摘要:然而,對象字面量不是真正意義上的哈希映射,如果使用不當可能會構成潛在的隱患。空對象創(chuàng)建一個真正的哈希映射的秘訣就是避免原型,及其帶來的包袱。在此之前,甚至之后,你應該使用空對象滿足你所有的基本哈希映射需求。 在JavaScript中存儲鍵值對的一個簡單常見的方法是使用對象字面量。然而,對象字面量不是真正意義上的哈希映射,如果使用不當可能會構成潛在的隱患。雖然目前JavaScrip...

    DTeam 評論0 收藏0
  • JS 對象

    摘要:的簡單數(shù)據(jù)類型包括數(shù)字字符串布爾值值和值。數(shù)字字符串和布爾值貌似貌似對象,因為他們擁有放飛,但他們是不可變的。對象字面量對象字面量提供一種非常方便創(chuàng)建新對象值的表示法。所有通過對象字面量創(chuàng)建的對象都連接到它是中的標配對象。 javascript 的簡單數(shù)據(jù)類型包括數(shù)字、字符串、布爾值、null值和undefined值。其他所有的值都是對象。數(shù)字、字符串和布爾值貌似貌似對象,因為他們擁有...

    LucasTwilight 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<