CoffeeScript 2 hadir dengan peningkatan sintaks JavaScript

CoffeeScript, bahasa sederhana yang dikompilasi ke JavaScript dan bertujuan untuk membuat hidup pengembang web lebih mudah, baru saja pindah ke rilis besar kedua, yang menekankan peningkatan sintaks. 

CoffeeScript 2, yang telah berada dalam tahap beta sejak April, menampilkan kompiler yang menerjemahkan kode CoffeeScript menjadi sintaks JavaScript modern. Sebuah "kelas" CoffeeScript sekarang keluaran menggunakan classkata kunci, misalnya. Versi 2 juga dilengkapi dukungan untuk sintaks fungsi asinkron, sintaksis penghancur objek masa depan, dan JSX, yang merupakan JavaScript dengan elemen XML yang tersebar.

Tujuan utama CoffeeScript 2 adalah untuk menghapus ketidaksesuaian dengan JavaScript yang mungkin mencegah CoffeScript digunakan untuk sebuah proyek, dan untuk menjaga kompatibilitas ke belakang semaksimal mungkin.

Kemampuan baru dilakukan dengan beberapa perubahan yang merusak dari versi 1.x, kata pengembang CoffeeScript. Sebelumnya, tim telah memperingatkan bahwa CoffeeScript 2 akan memerlukan perubahan yang melanggar agar sesuai dengan spesifikasi ECMAScript 2015 dan yang lebih baru. “Sebagian besar proyek CoffeeScript saat ini seharusnya dapat ditingkatkan dengan sedikit atau tanpa pemfaktoran ulang yang diperlukan,” kata para pengembang. Beberapa perubahan yang melanggar melibatkan fungsi terikat (panah tebal), fungsi generator terikat, dan penguraian Literate CoffeeScript, yang telah difaktor ulang agar lebih berhati-hati agar tidak memperlakukan daftar yang diindentasi sebagai blok kode.

Modernisasi sintaks JavaScript berarti pengembang mungkin perlu mentranspilasi keluaran kompiler, dengan transpilasi mengubah kode sumber menjadi kode sumber yang setara tetapi berbeda. Dokumentasi CoffeeScript mengutip kasus di mana pengembang ingin mengubah JavaScript modern menjadi JavaScript yang lebih lama untuk dijalankan di versi Node.js atau browser yang lebih lama. Dukungan bawaan untuk transpiler Babel sudah termasuk dalam CoffeeScript.

Dengan versi 2, CoffeeScript sekarang mengeluarkan komentar baris, setelah membuangnya di versi 1.1. Blokir komentar sekarang diizinkan di mana saja, mengaktifkan anotasi tipe statis. Alat baris perintah kopi telah ditingkatkan dalam peningkatan juga.

Perhatikan bahwa beberapa fitur JavaScript telah sengaja dihilangkan, seperti letdan var, bernama fungsi, getdan setkata kunci. Sedangkan let dan fungsi bernama dihilangkan demi kesederhanaan, varditinggalkan sehingga pengembang CoffeeScript tidak perlu berurusan dengan deklarasi variabel, getdan set kata kunci dan dihilangkan untuk menghindari ambiguitas tata bahasa. Penghilangan CoffeeScripts dari fitur JavaScript ini tidak memengaruhi kompatibilitas atau interoperabilitas dengan modul atau pustaka JavaScript.