CoffeeScript 2 идва с подобрения в синтаксиса на JavaScript

CoffeeScript, прост език, който се компилира в JavaScript и има за цел да улесни живота на уеб разработчиците, току-що премина към второ голямо издание, което подчертава подобренията в синтаксиса. 

CoffeeScript 2, който беше в бета етап от април, разполага със компилатор, който превежда кода на CoffeeScript в съвременен синтаксис на JavaScript. Сега се извежда „клас“ на CoffeeScript class, като например се използва ключовата дума. Версия 2 също така поддържа поддръжка за синтаксис на асинхронни функции, синтаксис за бъдещо деструктуриране на обекти и JSX, който е JavaScript с разпръснати XML елементи.

Основните цели на CoffeeScript 2 бяха да премахне несъвместимостта с JavaScript, която може да попречи на CoffeScript да се използва за проект, и да запази обратната съвместимост във възможно най-голяма степен.

Новите възможности са направени с няколко пробивни промени от версията 1.x, казаха разработчиците на CoffeeScript. Преди това екипът беше предупредил, че CoffeeScript 2 ще изисква пробивни промени, за да съответства на спецификацията ECMAScript 2015 и по-горе. „Повечето текущи проекти на CoffeeScript трябва да могат да се надстройват с малко или никакво необходимо рефакторинг“, казаха разработчиците. Няколко пробивни промени включват обвързани (дебела стрелка) функции, обвързани функции на генератор и грамотен синтактичен анализ на CoffeeScript, който е рефакториран, за да бъде по-внимателен да не третира отстъпените списъци като кодови блокове.

Модернизирането на синтаксиса на JavaScript означава, че може да се наложи разработчиците да транпилират изхода на компилатора, като транспилацията преобразува изходния код в еквивалентен, но различен изходен код. Документацията на CoffeeScript цитира случая, в който разработчиците биха искали да конвертират съвременния JavaScript в по-стар JavaScript, за да работят в по-стари версии на Node.js или по-стари браузъри. Вградената поддръжка за Babel transpiler е включена в CoffeeScript.

С версия 2, CoffeeScript сега извежда коментари по реда, след като ги е изхвърлил във версия 1.1. Блокирането на коментари вече е разрешено навсякъде, което позволява анотации от статичен тип. Инструментът за команден ред за кафе е подобрен и при надстройката.

Имайте предвид, че някои функции на JavaScript са умишлено пропуснати, като letи var, именувани функции getи setключовите думи и. Докато let и именуваните функции бяха пропуснати за простота, varбеше пропуснато, така че разработчиците на CoffeeScript да не се налага да се занимават с декларации на променливи, getа set ключовите думи и бяха пропуснати, за да се избегне граматичната неяснота. Пропускането на CoffeeScripts на тези функции на JavaScript не засяга съвместимостта или оперативната съвместимост с JavaScript модули или библиотеки.