簡體   English   中英

使用帶點符號的整數鍵來訪問 javascript 對象中的屬性

[英]Using integer keys with dot notation to access property in javascript objects

為什么我們不能在點表達式中使用整數鍵來訪問屬性值?

var obj = {1: 'one', two: '2'}
console.log(obj.1) // error
console.log(obj.two)

如果使用點符號來訪問值,則屬性鍵必須是有效的標識符

在此代碼中,屬性必須是有效的JavaScript標識符,即,一個字母數字字符序列,還包括不能以數字開頭的下划線(“ _”)和美元符號(“ $”)。 例如,object。$ 1有效,而object.1無效。

在這種情況下,可以使用括號表示法

obj['1']

規格: 屬性訪問器

添加到@Arun P Johny 的答案中,我們可以使用帶引號的obj['1']或在整數情況下不帶引號的obj[1] 其中 as 訪問obj['two']將起作用,但obj[two]如果沒有變量/常量 as two將拋出錯誤。

它是JavaScript的基礎,它表示變量不能以數字開頭。 在這里,該屬性是變量,因此它不能以數字開頭。

您可以在此處查看有關變量定義規則的更多信息

希望這可以幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM