2015-06-01 126 views
6

JavaScript對象的屬性可以用空字符串來命名,例如:如果屬性名稱是空字符串,如何檢查對象的屬性?

foo = { 
    "" : "bar" 
} 

點標記似乎並不能夠調用此屬性。控制檯輸出:

foo. 
>> "missing name after . operator" 

你會怎樣稱呼「」屬性?

+1

同樣的方式。 –

+0

「對象屬性名稱可以是任何有效的JavaScript字符串,也可以是任何可以轉換爲字符串的字符串,包括空字符串。」 https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Working_with_Objects – meetalexjohnson

+0

我不確定該評論是否針對我;一個有效的JavaScript *字符串*不一定是有效的JavaScript *代碼*,這是點符號的意思。 –

回答

4

使用一個空字符串作爲與托架語法鍵:

foo[""] 
0

這可以用方括號來完成。控制檯輸出:你訪問一個屬性,它包含其他任何將不合法JavaScript語法

foo[""] 
>> "bar" 

Documentation

+0

任何人都知道點符號是否可能? – meetalexjohnson

+0

當然不是,它不是合法的JavaScript。 –

+1

@ meetalexjohnson-no。點符號只能與[*有效標識符*](http://ecma-international.org/ecma-262/5.1/#sec-7.6)的屬性名稱一起使用(例如,可以用作變量名的東西)和「」不符合標準。 – RobG

相關問題