国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

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

NusterCache / 1175人閱讀

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

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

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

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
}

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

const map = Object.create(null)

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/95619.html

相關文章

  • 關于原生js的一些研究

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

    wind3110991 評論0 收藏0
  • 《JavaScript語言精粹》內容精選

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

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

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

    DTeam 評論0 收藏0
  • JS 對象

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

    LucasTwilight 評論0 收藏0

發表評論

0條評論

NusterCache

|高級講師

TA的文章

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