Релиз CoffeeScript 2
CoffeeScript — язык программирования, который транслируется в JavaScript. Синтаксис CoffeeScript вдохновлен языками Ruby и Python. Автор языка Джереми Эшкинас (Jeremy Ashkenas) также известен созданием библиотек Underscore и Backbone.
Новый релиз языка направлен на сокращение разрыва между CoffeeScript и современным JavaScript (ES6, ES7). Так =>
и class
транслируются соответственно в =>
и class
. При этом если в целевом рантайме та или иная возможность JS не поддерживается, может потребоваться дополнительная трансляция итогового JS.
Новое и измененное в версии 2:
- Модули:
import
/export
- Классы:
class Animal
- Асинхронные функции:
await someFunction()
- Стрелочные функции:
=>
- Параметры функции по умолчанию:
(options = {}) ->
- Оставшиеся параметры функции:
(items...) ->
- Деструктурирующее присваивание:
[first, second] = items
,{length} = items
- Оператор расширения:
{options..., force: yes}
,{force, otherOptions...} = options
- Шаблонные строки:
"Hello, #{user}!"
- Тегированные шаблонные строки:
html"coffee"
- Оператор
for...of
:for n from generatorFunction()
Примечательна поддержка JSX прямо в языке:
renderStarRating = ({ rating, maxStars }) ->
Релиз обратно несовместим с версиями 1.X. Помимо прочего некоторые возможности ECMAscript не были реализованы, например let
и const
.
>>> Подробности