2017-06-01 62 views
2

我知道Javascript中没有“字典”。所以密钥可以是“多于一个字符串”。但如何解释结果"[index] = index"为什么{[“abc”]:123}存在?

a={["abc"]:123} 
a["abc"]==123 
true 

为什么它有效?

我已经更新上面的说法。我为我的误会道歉。

+1

您的代码不起作用。你想问什么? – Xatenev

+1

@Barmar它没有这样做。无论如何,我们在谈论什么版本的ES?这将导致SyntaxError。 – Xatenev

+0

@Xatenev我觉得OP是想说,如果你有'OBJ = { “ABC”:123}',你可以访问'的obj [ “ABC”]]'(注意额外的括号),并将其 “作品”。这的确是因为数组被转换为字符串。 –

回答

6

在新ES6您可以使用此[]来计算动态密钥。

var a = { 
 
    [2 * 3]: "what" 
 
} 
 
console.log(a);

1

这是ES6 Computed property name语法:

{ [expression]: value } 

在你的情况expression只是一个字符串​​。

相关问题