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

Jus*_*cha 5 javascript object

我刚刚发现,可以创建对象并在花括号中动态设置键,而无需第二行。

var a = "dynamicKey";
var obj = {[a]: "value"}
Run Code Online (Sandbox Code Playgroud)

var a = "dynamicKey";
var obj = {};
obj[a] = "value";
Run Code Online (Sandbox Code Playgroud)

这是始终可行的还是在某种规格下(ES3,ES5)?

Mar*_*Dix 3

它称为括号表示法,自 ES6/JavaScript2015 起受支持。另请检查此处的“计算属性键”部分。您还可以直接查看ES6/Javascript2015 规范(搜索“括号表示法”)。

目前,并非所有浏览器都支持 ES6/Javascript2015,因此最佳实践是使用babel等工具将 ES6/Javascript2015 转换为 ES5 ,或者使用您也提供的设置属性的旧方法。

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