javascript - 在不显式定义键的情况下创建 Javascript 对象?

标签 javascript object

<分区>

今天看到了一段以前从未见过的代码:

var a = 1;
var b = 2;
var c = { a, b };

这将创建一个包含两个键的对象(分配给 c),它们是变量的名称,值是变量的值,如下所示:

{
    a: 1,
    b: 2
}

这正常吗?我找不到与此相关的任何内容或以这种方式创建对象。我在 chrome 上测试过它并且工作正常,但我不确定这是否适用于所有浏览器。

我希望以这种方式创建对象:

var c = { a: a, b: b };

最佳答案

这是 ES6 对象速记的一部分,您可以在其中使用当前作用域中的变量来声明对象(文字)内的属性,其名称和值与该变量相同。

也就是说,c = {a, b} 扩展为 c = {a: a, b: b} 只要 ab 都在当前范围内。

MDN 文档进入 more detail here .

关于javascript - 在不显式定义键的情况下创建 Javascript 对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38597763/

相关文章:

javascript - 如果 ID 存在于 angularjs 的 javascript 数组中

javascript - 重新初始化 iscroll

javascript - Angular typescript如何将字符串转换为html对象并将其传递给变量

c# - 在多个函数之间使用对象

javascript - 是否可以在两个不同的 JavaScript block 中使用相同的变量?

javascript - 如何使用Mongoose查询导入的json

java - 在对对象 vector 进行排序时需要帮助

javascript - 如何删除参数对象中的第一个参数?

javascript - 将每个传入响应连接到对象属性

ios - 如何使用 ARC 删除/销毁/清除任何对象?