Последняя версия CoffeeScript была выпущена с более надежным анализом и поддержкой генераторов ES6.
Код CoffeeScript компилируется один к одному в JavaScript, и это его заявленное большое преимущество.
На официальном веб-сайте CoffeeScript (http://coffeescript.org/) говорится, что этот язык нацелен на простое раскрытие хороших частей JavaScript. Вы можете легко использовать любую существующую библиотеку JavaScript из CoffeeScript, и скомпилированный вывод остается читаемым, проходит через JavaScript Lint без предупреждений, будет работать во всех средах выполнения JavaScript и, как правило, выполняется так же быстро или быстрее, чем эквивалентный рукописный JavaScript.
Однако с появлением следующей версии JavaScript ES6, которая скоро будет анонсирована, многие из вещей, поставляемых CoffeeScript, станут стандартными в JavaScript. Многие думают, что пришло время для этого улучшенного языка сценариев, но не в хорошем смысле. Возможно, облегчение возврата к JavaScript — это лучшая его функция на будущее.
Поддержка генераторов ES6 в CoffeeScript 1.9 — приятная новость, поскольку разработчики очень хотели добавить эту функцию.
Генератор — это просто функция, которая дает результат.
Пример генератора, используемого в CoffeeScript:
perfectSquares = -> num = 0loop num + = 1 yield num * numreturnwindow.ps или = perfectSquares ()
Синтаксический анализ также стал более надежным, а сообщения об ошибках были улучшены для строк и регулярных выражений — особенно в отношении интерполяции.
Разработчики также изменили стратегию генерации имен внутренних переменных компилятора. В примечаниях к выпуску говорится, что это означает, что параметры функции «@example» больше не доступны как голые переменные «example» в теле функции.
Последнее основное изменение в этом выпуске касается REPL. Теперь это совместимо с последними версиями Node и Io.js.