Выпущена вторая версия языка программирования 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К показов



