回答:
これは、新しいES2015(正式にはES6と呼ばれるEcmaScript仕様)の計算されたプロパティ名の構文です。これsomeObject[someKey]は、ES3 / 5で知っている割り当ての省略形です。
var a = "b"
var c = {[a]: "d"}
構文糖:
var a = "b"
var c = {}
c[a] = "d"
実際にを使用すると[]、JavaScript オブジェクトの作成時に変数の実際の値をキー/プロパティとして使用する優れた方法が提供されます。
私は上記の答えにかなり満足しています。少し例を挙げてこれを書くことができたので、感謝しています。
Node REPL(Node shell)でコードを1行ずつ実行しました。
> var key = "fullName"; // Assignment
undefined
>
> var obj = {key: "Rishikesh Agrawani"} // Here key's value will not be used
undefined
> obj // Inappropriate, which we don't want
{ key: 'Rishikesh Agrawani' }
>
> // Let's fix
undefined
> var obj2 = {[key]: "Rishikesh Agrawani"}
undefined
> obj2
{ fullName: 'Rishikesh Agrawani' }
>
また、[]評価または実行時までどうなるかわからない場合に、オブジェクト内のものにアクセスまたは割り当てるための表記法を使用する条件のみ。