摘要:當(dāng)你想用對(duì)象作為一個(gè)映射完全用來儲(chǔ)存數(shù)據(jù),你應(yīng)該按如下方式來創(chuàng)建它。當(dāng)創(chuàng)建一個(gè)映射使用對(duì)象字面量時(shí)默認(rèn)情況下,這個(gè)映射從這個(gè)對(duì)象繼承屬性。但是通過我們明確指定作為它的屬性。標(biāo)注如果你僅僅是想要用對(duì)象保存數(shù)據(jù),建議這種方式
當(dāng)你想用javascript對(duì)象作為一個(gè)hash映射(完全用來儲(chǔ)存數(shù)據(jù)),你應(yīng)該按如下方式來創(chuàng)建它。
const map = Object.create(null);
當(dāng)創(chuàng)建一個(gè)映射使用對(duì)象字面量時(shí)(const map = {}),默認(rèn)情況下,這個(gè)映射從這個(gè)對(duì)象繼承屬性。這和 Object.creatd(Object.prototype)創(chuàng)建時(shí)相等的。但是通過 Object.create(null),我們明確指定 null 作為它的屬性。因此它相當(dāng)于沒有屬相,甚至沒有constructor, toString, hasOwnProperty等方法。因此你可以隨意使用這些鍵值在你的數(shù)據(jù)結(jié)構(gòu)中,只要你需要。
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 }
標(biāo)注:如果你僅僅是想要用對(duì)象保存數(shù)據(jù),建議這種方式:
const map = Object.create(null)
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/95619.html
摘要:這個(gè)屬性本身又是一個(gè)類型的對(duì)象,原型對(duì)象都包含一個(gè)指向構(gòu)造函數(shù)的指針,而每一個(gè)實(shí)例也都包含一個(gè)指向原型對(duì)象內(nèi)部的指針。 前陣子忙于準(zhǔn)備CET-6,沒時(shí)間更新文章,之后大概一個(gè)月將忙于準(zhǔn)備期末考,也應(yīng)該不會(huì)更新了,今天趁周末有時(shí)間再更新一篇最近研究的一些東西吧。 callee和caller function inner(){ console.log(arguments.calle...
摘要:最近在讀語言精粹這本書,作者是是一名來自的資深架構(gòu)師,以創(chuàng)建和維護(hù)格式而為大家所熟知。三元運(yùn)算符有三個(gè)運(yùn)算數(shù)。嘗試從的成員屬性中取值將會(huì)導(dǎo)致異常。這個(gè)過程稱為委托。通過可取得它們所屬對(duì)象的上下文的方法稱為公共方法。 最近在讀《JavaScript語言精粹》這本書,作者是 Douglas Crockford;Douglas Crockford是一名來自 Yahoo!的資深JavaScri...
摘要:然而,對(duì)象字面量不是真正意義上的哈希映射,如果使用不當(dāng)可能會(huì)構(gòu)成潛在的隱患。空對(duì)象創(chuàng)建一個(gè)真正的哈希映射的秘訣就是避免原型,及其帶來的包袱。在此之前,甚至之后,你應(yīng)該使用空對(duì)象滿足你所有的基本哈希映射需求。 在JavaScript中存儲(chǔ)鍵值對(duì)的一個(gè)簡單常見的方法是使用對(duì)象字面量。然而,對(duì)象字面量不是真正意義上的哈希映射,如果使用不當(dāng)可能會(huì)構(gòu)成潛在的隱患。雖然目前JavaScrip...
摘要:的簡單數(shù)據(jù)類型包括數(shù)字字符串布爾值值和值。數(shù)字字符串和布爾值貌似貌似對(duì)象,因?yàn)樗麄儞碛蟹棚w,但他們是不可變的。對(duì)象字面量對(duì)象字面量提供一種非常方便創(chuàng)建新對(duì)象值的表示法。所有通過對(duì)象字面量創(chuàng)建的對(duì)象都連接到它是中的標(biāo)配對(duì)象。 javascript 的簡單數(shù)據(jù)類型包括數(shù)字、字符串、布爾值、null值和undefined值。其他所有的值都是對(duì)象。數(shù)字、字符串和布爾值貌似貌似對(duì)象,因?yàn)樗麄儞碛?..
閱讀 1026·2021-11-23 09:51
閱讀 2345·2021-10-08 10:22
閱讀 2544·2021-09-29 09:35
閱讀 855·2021-09-22 15:20
閱讀 2860·2019-08-30 15:53
閱讀 2413·2019-08-30 13:55
閱讀 1097·2019-08-29 17:27
閱讀 2870·2019-08-29 17:26