【问题标题】:Is the following syntax `customObject.decoratorFunction` valid according to the decorator spec根据装饰器规范,以下语法“customObject.decoratorFunction”是否有效
【发布时间】:2017-10-22 10:10:43
【问题描述】:

我正在查看ES decorator proposal,它使用语法定义了以下语法:

Decorator:
    @ DecoratorMemberExpression
    @ DecoratorCallExpression

DecoratorMemberExpression:
    IdentifierReference
    DecoratorMemberExpression . IdentifierName

DecoratorCallExpression:
    DecoratorMemberExpression Arguments

任何人都可以确认我正确理解了语法并且以下表达式根据规范是有效的:

@decoratorFunction                       // IdentifierReference
@customObject.decoratorFunction          // IdentifierReference . IdentifierName
@decoratorFunction(...)                  // IdentifierReference Arguments
@customObject.decoratorFunction(...)     // IdentifierReference . IdentifierName Arguments

【问题讨论】:

  • 是的,看起来不错。
  • @Bergi,太好了,谢谢!

标签: javascript decorator ecmascript-next


【解决方案1】:

没错,DecoratorMemberExpression 允许对属性访问器使用点表示法。

这意味着这是有效的:

@customObject.decoratorFunction(...)

虽然不是这样:

@customObject['decoratorFunction'](...)

【讨论】:

    猜你喜欢
    • 2015-10-04
    • 1970-01-01
    • 2015-01-01
    • 2017-02-04
    • 2017-03-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多