2015-09-11 32 views
24

誰でもどのように理由を説明することができます/ javascriptでキーを割り当てる以下の方法?角括弧Javascriptオブジェクトキー

a = "b" 
c = {[a]: "d"} 

リターン:

Object {b: "d"} 
+0

@Tushar:ここで 'Object'へのコールがない

var a = "b" var c = {[a]: "d"} 

がためのシンタックスシュガーである:それはあなたがES3/5から知っているsomeObject[someKey]割り当てのための速記です。それはまったく無関係です。 –

+0

@FelixKling Arrayはオブジェクトとして扱われます。 'typeof [] ' – Tushar

+0

@Tushar:配列はオブジェクトですが、ここに配列はなく、' Object'も呼び出されません。 –

答えて

42

これは、新しいES2015(正式ES6として知られているのECMAScript仕様)computed property name syntaxです。

var a = "b" 
var c = {} 
c[a] = "d" 
+0

それはES6だけではありません – Tushar

+0

@ Tushar - 他にどこがこの作品ですか?通常のES5環境(ノード0.10)では私のためにスローされます。 –