根据装饰器规范,以下语法`customObject.decoratorFunction`是否有效

时间:2017-10-22 10:10:44

标签: javascript decorator ecmascript-next

我正在查看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

1 个答案:

答案 0 :(得分:0)

这是正确的,DecoratorMemberExpression允许对属性访问器使用点表示法。

这意味着这是有效的:

@customObject.decoratorFunction(...)

虽然不是这样:

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