嘗試為JavaScript 物件建立動態鍵時,使用此語法
jsObj{ 'key' i} = ' example' 1;不會起作用。正確的方法是使用方括號:
<code class="js">jsObj['key' + i] = 'example' + 1;</code>
在 JavaScript 中,數組是一種特殊類型的對象,其區別在於它們維護一個反映數字屬性(索引)加一計數的長度屬性。標準物件不會模仿這種特殊行為,但方括號運算子在兩種類型上的工作方式相同。
對於在陣列實例上設定帶有數字鍵的屬性,長度屬性將自動更新以反映最大的數字鍵。但是,對於普通對象,不會發生此類更新。
需要注意的是,將陣列實例序列化為 JSON 只包含以數字命名的屬性,不包括任何其他屬性。
在 ES6 中,您可以使用計算屬性名稱以獲得更簡潔的語法:
<code class="js">var key = 'DYNAMIC_KEY', obj = { [key]: 'ES6!' };</code>
以上是如何在 JavaScript 物件中動態設定鍵?的詳細內容。更多資訊請關注PHP中文網其他相關文章!