首頁 > web前端 > js教程 > 我可以在 JavaScript 中使用變數作為物件屬性名稱嗎?

我可以在 JavaScript 中使用變數作為物件屬性名稱嗎?

Susan Sarandon
發布: 2024-12-25 10:05:11
原創
650 人瀏覽過

Can I Use Variables as Object Property Names in JavaScript?

如何在JavaScript 中動態定義物件屬性名稱

JavaScript 物件文字可以方便地定義鍵值對的集合,其中鍵代表屬性名稱,值代表屬性值。然而,出現了一個常見的問題:我們可以使用變數作為物件字面量中的鍵嗎?

這個問題的答案取決於 JavaScript 版本。在 ES5 及更早版本中,直接使用變數作為物件文字中的鍵是行不通的。例如:

var thetop = 'top';
something.stop().animate({ thetop: 10 }, 10); // Doesn't work
登入後複製

這是因為在 ES5 中,物件屬性名稱必須用雙引號或單引號括起來。

ES5 及更早版本的解

在ES5 中使用變數作為鍵,需要建立一個物件字面量,並使用變數名稱作為屬性手動指派屬性值key:

var aniArgs = {};
aniArgs[thetop] = 10; // Assign value to property using variable name as key
something.stop().animate(aniArgs, 10); // Pass the object literal to the animate method
登入後複製

ES6計算屬性名稱

ES6 引入了 ComputedPropertyName 的概念,它允許使用變數和表達式作為物件字面量內的屬性名稱。此語法如下所示:

const obj = { [variableOrExpression]: value };
登入後複製

使用此語法,您可以使用變數動態定義屬性名稱,例如:

var thetop = 'top';
const obj = { [thetop]: 10 };
console.log(obj.top); // Prints 10
登入後複製

現代瀏覽器支援此語法,可以簡化動態定義物件屬性名稱的過程。

以上是我可以在 JavaScript 中使用變數作為物件屬性名稱嗎?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板