2015-09-11 25 views
24

Javascript'te anahtarlar atama yönteminin neden/nasıl çalıştırıldığını herhangi bir kişi açıklayabilir mi?Köşeli Köşeli Ayraçlar Javascript Nesne Anahtarı

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

dönüş:

Object {b: "d"} 
+0

@Tushar:

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

için sözdizimsel şeker geçerli: Size ES3/5 biliyoruz someObject[someKey] atama için bir kısaltmadır var burada Nesnesi' 'hiçbir çağrı yoktur. Bu tamamen alakasız. –

+0

@FelixKling Array nesnesi olarak kabul edilir, 'typeof [] ' – Tushar

+0

@Tushar: diziler nesnelerdir, ancak burada bir dizi yoktur ve yine,' Object 'çağrısı yoktur. –

cevap

42

O computed property name syntax (ECMAscript resmen ES6 olarak bilinen spec) yeni ES2015 bu.

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

Sadece ES6 değil – Tushar

+0

@Tushar - bu başka nerede çalışıyor? Benim için normal bir ES5 ortamında atar (Düğüm 0.10). –