当我有:

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,没有语法。

javascript - 对象属性名称的箭头功能的简写-LMLPHP

在您的情况下,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/

10-09 22:42