在JavaScript中设置新对象的动态键,如{[key]:" value" }

时间:2016-06-01 09:44:43

标签: javascript object

我刚刚发现可以创建一个对象并在大括号中动态设置密钥,而不需要第二行。

var a = "dynamicKey";
var obj = {[a]: "value"}

VS

var a = "dynamicKey";
var obj = {};
obj[a] = "value";

这是否总是可行或某些规格(ES3,ES5)?

1 个答案:

答案 0 :(得分:3)

它被称为bracket notation,自ES6 / JavaScript2015起支持。同时检查'计算属性键'部分here。您也可以直接查看ES6/Javascript2015 spec(搜索'括号表示法')。

所有浏览器目前都不支持ES6 / Javascript2015,因此最好使用babel之类的工具将ES6 / Javascript2015转换为ES5,或者使用您提供的旧设置属性方法。

Webkit(例如Chrome)现在是100% ES6/Javascript2015 compatible。如果您只需要支持Chrome / Webkit浏览器,则无需再转换ES5。