CoffeeScript 1.7 был выпущен с новыми функциями, запрошенными разработчиками.
CoffeeScript — это небольшой язык, который компилируется в эквивалентный JavaScript без интерпретации во время выполнения.
Согласно официальному сайту CoffeeScript, он направлен на простое раскрытие хороших частей JavaScript. Вы можете легко использовать любую существующую библиотеку JavaScript из CoffeeScript, и скомпилированный вывод остается читаемым, проходит через JavaScript Lint без предупреждений, будет работать во всех средах выполнения JavaScript и, как правило, выполняется так же быстро или быстрее, чем эквивалентный рукописный JavaScript.
Режим «Literate Programming», представленный в CoffeeScript 1.5, является необязательным и используется для повышения читабельности кода. Если файл помечен как «.litcoffee». затем, когда компилятор компилирует его в JavaScript, все, что не имеет отступа, отбрасывается, и компилируется только текст с отступом. CoffeeScript является одним из самых популярных языков на GitHub и поддерживается такими фреймворками, как Ruby on Rails.
CoffeeScript описывается как стабильный и в основном завершенный, но в этот новый выпуск добавлены некоторые новые функции. В сообщении на Github о новой версии ее создатель Джереми Ашкенас описывает изменения (в своем собственном «порядке восхищения»), начиная с поддержки цепочки без скобок. До сих пор вам приходилось использовать круглые скобки, если вы хотели связать функции, как показано в следующем примере:
$ («p.neat»). addClass («ohmy»). show («медленно»);
Теперь это можно записать как:
$ («p.neat»). addClass «ohmy» .show «медленно»
В новом выпуске также улучшена поддержка многострочных строк с возможностью заключать длинные строки, такие как сообщения, обращенные к пользователю, без нарушения отступов кода или удаления новых строк вручную.
Еще одно улучшение — поддержка расширения для деструктуризации массива. Это был самый длинный открытый выпуск на CoffeScript. До сих пор, если вы хотели получить первый и последний элементы массива, вам нужно было использовать:
[первый, средний …, последний] = массив
Новая версия позволяет вам просто использовать
[первый, …, последний] = массив
Точно так же, если вы хотите получить последний элемент массива в текущей версии, вы должны использовать:
last = массив [array.length — 1]
В новой версии можно использовать:
[…, последний] = массив
Были добавлены новые математические операторы в виде оператора мощности (**), оператора деления пола (//) и оператора по модулю, учитывающего отрицательные значения (%%).
Релиз 1.7 доступен на сайте CoffeeScript и на Github.