使用ES6,我们现在可以利用对象简写符号来创建对象......
var a = 1, b = 2, c = 3;
var obj = { a, b, c };
是否可以将速记符号与常规符号结合使用?
换句话说,以下是否合法?
var obj = {a, b, c, d: 'foo'};
如果是的话,我应该注意哪些问题?
答案 0 :(得分:8)
是否可以将速记符号与常规符号结合使用?
是。属性定义可以是以下任何一种:
PropertyDefinition :
IdentifierReference
CoverInitializedName
PropertyName : AssignmentExpression
MethodDefinition
来源:ECMAScript 2015 Language Specification
如果是的话,我应该注意哪些问题?
不。
答案 1 :(得分:1)
根据巴贝尔的说法是
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显示正在创建的混合对象