Я пытаюсь разрешить функции '@' в своем приложении, что я должен добавить или вставить, чтобы JS мог его интерпретировать, точно так же, как «angular2 @Component».
Как разрешить ключевое слово «@» в Javascript
Ответы (2)
@
используется как декоратор в новой предлагаемой функции для JavaScript. Чтобы использовать его, вам нужно использовать препроцессор, такой как Babel. Он также доступен в машинописном формате и широко используется в 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/
Согласно валидатору имени переменной для JavaScript, @ em> это:
недействительный идентификатор в соответствии с ECMAScript 6/Unicode 8.0.0
И поэтому он недействителен и для имен функций. См. также: Какие символы допустимы для имен переменных JavaScript? В Angular вы фактически используете TypeScript, и они используют @ в качестве декоратора функции, но он не используется в имени функции.