Выпущена вторая версия языка программирования CoffeeScript
Новости
Новый релиз языка и компилятора стремится внести CoffeeScript в современную эпоху JavaScript, устраняя пробелы в совместимости и сохраняя чистый синтаксис, который и является визитной карточкой языка.
3К открытий3К показов
CoffeeScript 2 был разработан с двумя главными целями: устранить несовместимость с современным JavaScript, которая может помешать использованию CoffeeScript в проектах и в то же время сохранить как можно больше обратной совместимости.
Изначально CoffeeScript был представлен как «простой JavaScript». И новая версия получила все нововведения JavaScript ES2017 и общепринятого ES6. Многие функции JavaScript, такие как =>
, полностью совместимы с CoffeeScript-аналогами. Многие из инноваций CoffeeScript были также введены в синтаксис JS: например, конструкция "a#{b}c"
превратилась в 'a${b}c'
.
Основные нововведения CoffeeScript 2
Следующие функции CoffeeScript были обновлены в версии 2.0 для совместимости с современным синтаксисом JavaScript:
- Модули:
import/export
; - Классы:
class Animal
; - Асинхронные функции:
await someFunction()
; - Стрелочные функции:
=>
; - Параметры функции по умолчанию:
(options = {}) ->
; - Rest-параметры функции:
(items...) ->
; - Деструктурирующее присваивание:
[first, second] = items
,{length} = items
; - Свойства объектов:
{options..., force: yes}
,{force, otherOptions...} = options
; - Шаблонные строки:
"Hello, #{user}!"
; - Шаблонные строки с тегами:
html"<strong>coffee</strong>"
; - JavaScript-конструкция
for…of
доступна в CoffeeScript:for…from
:for n from generatorFunction()
.
Важно отметить, что не все функции CoffeeScript были полностью приняты JavaScript: значения функций по умолчанию применимы, только если переменная имеет тип undefined
; классы имеют также свои особенности. Полную информацию по этому поводу можно найти на сайте CoffeeScript.
Обратите внимание
Существует также два изменения в языке, которые могут повлиять на работу многих проектов:
- Пустой вызов
super
без аргументов больше не разрешён и должен быть использован какsuper()
илиsuper arguments...
; - Ссылки на
this
/@
не могут произойти до вызоваsuper
по спецификациям JavaScript.
В дополнение ко всему выше сказанному в CoffeeScript появились:
- JSX;
- Строчные комментарии;
- Блочные комментарии, которые разрешены в любом месте кода.
Более подробную информацию обо всех изменениях языка можно найти в списке изменений.
Установка
Для установки новой версии языка воспользуйтесь командой npm install -g coffeescript@2
.
3К открытий3К показов