如何在 Javascript 中允许“@”关键字

How to allow '@' keyword in Javascript

我想在我的应用程序中允许“@”函数,我应该添加或插入什么以允许 JS 解释它,就像 "angular2 @Component"。

根据 a variable name validator 对于 JavaScript@ 是:

invalid identifier according to ECMAScript 6 / Unicode 8.0.0

所以它对函数名也是无效的。另见:What characters are valid for JavaScript variable names?Angular 你实际上使用 TypeScript 并且他们利用 @ 作为装饰器一个函数,但它没有用在函数名中。

@当做 in a new proposed feature for JavaScript. To use it you need to use a preprocessor like Babel使用。 它也可以在 typescript 中使用,并在 Angular2 中广泛使用。 示例:

function myDecorator(value) {
   return function(target) {
      target.myProperty = value;
   }
}

@myDecorator('myValue')
class MyClass { }

默认情况下装饰器在 Babel 上不起作用,您可以找到有关启用它们的信息here

编辑:无论您是否将 @myDecorator('myValue') 视为 @ 函数名称的一部分,我想我们都可以承认,对于那些新手来说,它看起来是这样的到语言。

相关链接:

https://medium.com/google-developers/exploring-es7-decorators-76ecb65fb841 https://cabbageapps.com/fell-love-js-decorators/