<分区>
今天看到了一段以前从未见过的代码:
var a = 1;
var b = 2;
var c = { a, b };
这将创建一个包含两个键的对象(分配给 c),它们是变量的名称,值是变量的值,如下所示:
{
a: 1,
b: 2
}
这正常吗?我找不到与此相关的任何内容或以这种方式创建对象。我在 chrome 上测试过它并且工作正常,但我不确定这是否适用于所有浏览器。
我希望以这种方式创建对象:
var c = { a: a, b: b };
标签 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}
只要 a
和 b
都在当前范围内。
MDN 文档进入 more detail here .
关于javascript - 在不显式定义键的情况下创建 Javascript 对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38597763/