Dud*_*ude 3 javascript ecmascript-6
当我有:
const foo = 1;
Run Code Online (Sandbox Code Playgroud)
我可以设置对象属性名称的简写
const bar = {foo}
Run Code Online (Sandbox Code Playgroud)
就像那样
const bar = {foo: foo} // bar will be {foo: 1}
Run Code Online (Sandbox Code Playgroud)
当我有一个带箭头功能的const时,有没有简写?
const foo = () => 1
Run Code Online (Sandbox Code Playgroud)
我必须像这样设置它,但它不酷
const bar = {foo: foo()}
Run Code Online (Sandbox Code Playgroud)
我想这样或者更短的东西
const bar = {foo()} //bar should be {foo: 1} but this will fail
Run Code Online (Sandbox Code Playgroud)
看看规格,没有这方面的语法.
在你的情况下ObjectLiteral
必须解决{ PropertDefinitionList }
,必须解决PropertyDefinition
.现在可能PropertyDefinition
是什么?
它不可能IdentifierReference
- 这是你的第一个例子:{f}
.
CoverInitializedName
也不适合.这看起来像{f = AssignmentExpression}
这里AssignmentExpression
定义的地方.
PropertyName: AssignmentExpression
是传统的语法: {f: 1}
MethodDefinition
让你这样做{f(){ return 1; }};
,但那又不是你想要的.
看起来判决结果是否定的.