第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Javascript對象中的鍵只能是字符串嗎?

Javascript對象中的鍵只能是字符串嗎?

慕村225694 2019-10-12 10:07:25
jshashtable狀態(tài):JavaScript的內(nèi)置對象的確使用方括號表示屬性來提供哈希表功能,前提是您的鍵是字符串或數(shù)字:據(jù)我所知,鍵只是字符串,(因為數(shù)字無論如何都被強(qiáng)制轉(zhuǎn)換為字符串)。我只想檢查一下,確保上面所說的是假的(因為鍵不能是數(shù)字)。ECMA標(biāo)準(zhǔn)是否對此做了任何說明。還是實現(xiàn)特定于瀏覽器?
查看完整描述

3 回答

?
楊魅力

TA貢獻(xiàn)1811條經(jīng)驗 獲得超6個贊

好吧,這是我的答案-主要是因為我對其他(正確)答案中的引用不滿意- []中屬性名稱的表達(dá)式始終被強(qiáng)制轉(zhuǎn)換為字符串,并且此行為在規(guī)范中已得到很好的定義。因此,根據(jù)對所引用報價的解釋,可以將其視為誤導(dǎo)和/或不正確的。


但是,引言并不假定x[42]且x["42"]是不同的。它指出-在誤導(dǎo)性地排除了其他原語和細(xì)節(jié)的情況下- 在正常屬性解析下,只有字符串和數(shù)字才可用作 “哈希鍵”(實際上是屬性名),并且在這種意義上,引用可以說是正確的。


這些規(guī)則來自標(biāo)準(zhǔn)ECMA-262 ECMAScript語言規(guī)范第5版(2009年12月)


在“ 11.2.1屬性訪問器”部分中(省略了生產(chǎn)規(guī)則):


生產(chǎn)的MemberExpression:MemberExpression [Expression]的計算如下:


令baseReference為評估MemberExpression的結(jié)果。

令baseValue為GetValue(baseReference)。

令propertyNameReference為計算Expression的結(jié)果。

設(shè)propertyNameValue為GetValue(propertyNameReference)。

調(diào)用CheckObjectCoercible(baseValue)。

設(shè)propertyNameString為ToString(propertyNameValue)。

如果要評估的語法產(chǎn)生包含在嚴(yán)格模式代碼中,則使strict為真,否則使strict為假。

返回類型為Reference的值,其基值為baseValue,其引用名稱為propertyNameString,其嚴(yán)格模式標(biāo)志為strict。

快樂的編碼。


查看完整回答
反對 回復(fù) 2019-10-12
  • 3 回答
  • 0 關(guān)注
  • 1003 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號