我试图在我的应用程序中允许'@'函数,我应该添加或插入什么来允许 JS 解释它,就像“angular2 @Component”一样。
问问题
164 次
2 回答
3
被@
用作JavaScript新提议功能中的装饰器。要使用它,您需要使用像Babel这样的预处理器。它也可以在 typescript 中使用,并在 Angular2 中广泛使用。例子:
function myDecorator(value) {
return function(target) {
target.myProperty = value;
}
}
@myDecorator('myValue')
class MyClass { }
装饰器在 Babel 上默认不会工作,你可以在这里找到启用它们的信息。
编辑:无论您是否考虑@myDecorator('myValue')
作为@
函数名称的一部分,我想我们都可以承认,对于那些刚接触该语言的人来说,它看起来是这样的。
相关链接:
https://medium.com/google-developers/exploring-es7-decorators-76ecb65fb841 https://cabbageapps.com/fell-love-js-decorators/
于 2017-08-29T14:13:28.823 回答
1
根据JavaScript的变量名验证器,@是:
根据 ECMAScript 6 / Unicode 8.0.0 的无效标识符
所以它对函数名也是无效的。另请参阅:哪些字符对 JavaScript 变量名有效? 在Angular中,您实际上使用TypeScript,它们使用@作为函数的装饰器,但它没有用于函数名称中。
于 2017-08-29T14:07:53.137 回答