javascript - JS - 创建对象速记

标签 javascript syntax shorthand

拿下面的对象:

var value = 'bar';
var obj = { foo: value }
// -> Object { foo="bar" }

假设键也是一个变量,可以这样:

var key = 'foo', value = 'bar';
var obj = {}
obj[key] = value;
// -> Object { foo="bar" }

现在,我想在一行(速记)中完成此操作。所以我尝试了:

var obj = {}[key] = value; // or,
var obj = ({})[key] = value; // or,
var obj = new Object()[key] = value;
// -> "bar"

这奇怪地产生了一个字符串而不是一个对象。

有什么办法可以速记吗?

最佳答案

ECMAScript 6 将允许你做

var obj = {
    [key]: value
};

Browser support还不是很好,但是转译器如 6to5允许你今天使用这个符号!

关于javascript - JS - 创建对象速记,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27515031/

相关文章:

javascript - FancyBox 3 在链接点击时加载 iframe 不起作用

python - 使用 Python 求解 5 阶多项式

syntax - 如何使用 erl_lint 来检查 Erlang 模块的语法?

javascript - 简写 css 属性列表

css - 为什么 CSS 中没有宽度和高度的简写属性?

javascript - 使用 Garmin Communicator 插件 API 删除 GPS 设备中的数据

javascript - AngularJS 多个 ngApps,每个都有自己的 ngRoute 定义,在一页上延迟加载和引导

javascript - 无法从文件中获取 json_decode() - 语法错误

css - 用于指定所需边框的终极 CSS 快捷方式

javascript - 在样式表中快速切换 rems 和像素