在没有明确定义键的情况下创建Javascript对象?

时间:2016-07-26 18:52:48

标签: javascript object

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

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

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

{
    a: 1,
    b: 2
}

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

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

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

1 个答案:

答案 0 :(得分:8)

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

即只要c = {a, b}c = {a: a, b: b}都在当前范围内,a就会扩展为b

MDN文档进入more detail here