TL;DR: Есть ли способ определить нарушения нового поведения CoffeeScript 1.9.0 для именования параметров @foo
? Теперь использование голой переменной foo
в функции является незаконным и не вызывает предупреждения/ошибки.
В версии 1.9.0 CoffeeScript указано:
Изменена стратегия генерации имен внутренних переменных компилятора. Обратите внимание, что это означает, что
@example
параметры функции больше не доступны в качестве голыхexample
переменных в теле функции.
Это означает
class Animal
constructor: (@name) ->
console.log name
.. потерпит неудачу, молча. То есть приведенное выше не будет печатать имя нового животного.
Новое правильное решение:
class Animal
constructor: (@name) ->
console.log @name
CoffeeLint этого не улавливает. Есть ли какой-нибудь известный трюк для обнаружения теперь незаконного использования голого параметра? Может быть, отличный скрипт, работающий на сгенерированном javascript?
Вот 2 ссылки по этому поводу: