当我有:
const foo = 1;
我可以为对象属性名称设置简写
const bar = {foo}
多数民众赞成在相同的像
const bar = {foo: foo} // bar will be {foo: 1}
当我有带有箭头功能的const时,有速记吗?
const foo = () => 1
我必须像这样设置,但它不酷
const bar = {foo: foo()}
我想这样做或更短的时间
const bar = {foo()} //bar should be {foo: 1} but this will fail
最佳答案
查看specs,没有语法。
在您的情况下,ObjectLiteral
必须解析为{ PropertDefinitionList }
,后者必须解析为PropertyDefinition
。现在PropertyDefinition
是什么?
不能是IdentifierReference
-这是您的第一个示例:{f}
。CoverInitializedName
也不适合。看起来像{f = AssignmentExpression}
,其中AssignmentExpression
被定义为here。PropertyName: AssignmentExpression
是常规语法:{f: 1}
MethodDefinition
允许您执行{f(){ return 1; }};
,但这又不是您想要的。
看来判决是否定的。
关于javascript - 对象属性名称的箭头功能的简写,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/50179669/