JavaScriptは、オブジェクトを宣言するための多くの方法を提供します。ほとんどのデータが手元にある場合、(私の意見では)最も便利なのは次のとおりです。
var person = {
name: 'John',
age: 23
}; // "object literal syntax"
この構文の興味深い点は、これと同じであるということです。
var person = {
'name': 'John',
'age': 23
}; // "object literal syntax"
つまり、プロパティ名に引用符を使用するか、引用符を省略することができます。
これを単一のプロパティの設定方法と比較すると、次の2つのオプションがあります。
person.birthday = "January 12"; // "dot syntax"
また
person['birthday'] = "January 12"; // "array syntax"
「ドット構文」は、右のオペランドが実際のプロパティ名である場合にのみ機能します。プロパティ名に変数を使用する場合は、「配列構文」を使用する必要があります。つまり、次のようになります。
var prop = "birthday";
person[prop] = "January 12";
さて、「オブジェクトリテラル構文」のプロパティ名に変数を使用することは可能ですか?プロパティ名を引用するかどうかは問題ではないため、そこで変数を使用する明確な方法はないようです。私はこのようなものを探しています:
var prop = "birthday";
var person = {
name: 'John',
age: 23,
(prop): 'January 12'
};
ここでは、これがリテラル文字列ではなく変数であることを表現するために使用される架空の構文として(prop)を使用しています。
ありがとう。