ES6对象简写表示法可以与常规对象表示法相结合吗



使用ES6,我们现在可以使用对象简写法来创建对象。。。

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

有可能把速记法和常规记法结合起来吗?

换句话说,以下内容合法吗?

var obj = {a, b, c, d: 'foo'};

如果是的话,我有什么需要注意的吗?

有可能把速记法和常规记法结合起来吗?

是的。属性定义可以是以下任意一种:

PropertyDefinition :
    IdentifierReference
    CoverInitializedName
    PropertyName : AssignmentExpression
    MethodDefinition

来源:ECMAScript 2015语言规范

如果是的话,我有什么需要注意的吗?

没有。

根据Babel是

查看传输代码结果

Babel翻译此

var a = 1, b = 2, c = 3;
var obj = {a, b, c, d: 'foo'};

进入es5

var a = 1,
b = 2,
c = 3;
var obj = { a: a, b: b, c: c, d: 'foo' };

还发现了Luke Hoban的github repo,它显示了正在创建的混合对象

最新更新