JavaScript でオブジェクトのプロパティ名を動的に定義する方法
JavaScript オブジェクト リテラルは、キーと値のペアのコレクションを定義するのに便利です。はプロパティ名を表し、値はプロパティ値を表します。ただし、一般的な疑問が生じます: 変数をオブジェクト リテラルのキーとして使用できますか?
この質問に対する答えは JavaScript のバージョンによって異なります。 ES5 以前では、オブジェクト リテラルのキーとして変数を直接使用することはできません。例:
var thetop = 'top'; something.stop().animate({ thetop: 10 }, 10); // Doesn't work
これは、ES5 ではオブジェクト プロパティ名を二重引用符または一重引用符で囲む必要があるためです。
ES5 以前の解決策
ES5 で変数をキーとして使用するには、オブジェクト リテラルを作成し、変数名を使用してプロパティ値を手動で割り当てる必要がありますプロパティ キーとして:
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 中国語 Web サイトの他の関連記事を参照してください。