CoffeeScript 2 stiže s poboljšanjima sintakse JavaScript-a

CoffeeScript, jednostavan jezik koji se kompajlira u JavaScript i čiji je cilj olakšati život web programera, upravo je prešao u drugo veliko izdanje, ono koje naglašava poboljšanja sintakse. 

CoffeeScript 2, koji je bio u beta fazi od travnja, sadrži kompajler koji prevodi CoffeeScript kôd u modernu sintaksu JavaScript. Na primjer, izlazi se klasa CoffeeScripta pomoću classključne riječi. Verzija 2 također sadrži podršku za sintaksu asinkroniziranih funkcija, sintaksu budućeg destrukturiranja objekata i JSX, što je JavaScript s protkanim XML elementima.

Primarni ciljevi CoffeeScripta 2 bili su uklanjanje nekompatibilnosti s JavaScriptom koje bi mogle spriječiti upotrebu CoffeScripta za projekt i očuvanje povratne kompatibilnosti u najvećoj mogućoj mjeri.

Nove mogućnosti napravljene su s nekoliko promjena u odnosu na verziju 1.x, rekli su programeri CoffeeScripta. Prije toga, tim je upozorio da će CoffeeScript 2 zahtijevati izmjene u skladu s ECMAScript 2015 specifikacijom i višim. "Većina trenutnih CoffeeScript projekata trebala bi biti u mogućnosti nadograditi s malo ili nikakvim refaktoriranjem," rekli su programeri. Nekoliko prijelomnih promjena uključuje povezane (masne strelice) funkcije, povezane generirajuće funkcije i Literate CoffeeScript raščlanjivanje, koje je prerađeno kako bi bilo opreznije da se uvučeni popisi ne tretiraju kao blokovi koda.

Modernizacija sintakse JavaScript znači da će programeri možda trebati transpilirati izlaz kompajlera, transpilacijom pretvarajući izvorni kod u ekvivalentan, ali drugačiji izvorni kod. Dokumentacija CoffeeScript navodi slučaj u kojem bi programeri željeli pretvoriti moderni JavaScript u stariji JavaScript za pokretanje u starijim verzijama Node.js ili starijim preglednicima. Ugrađena podrška za Babel transpiler uključena je u CoffeeScript.

S verzijom 2, CoffeeScript sada izbacuje retke komentara, nakon što ih je odbacio u verziji 1.1. Blokirani komentari sada su dopušteni bilo gdje, što omogućuje bilješke statičkog tipa. Alat za naredbeni redak za kavu poboljšan je i u nadogradnji.

Imajte na umu da su neke značajke JavaScript namjerno izostavljene, poput leti var, imenovane funkcije geti setključne riječi i. Dok su let imenovane funkcije izostavljene radi jednostavnosti, varizostavljene su kako programeri CoffeeScripta ne bi imali posla s deklaracijama varijabli, geta set ključne riječi i izostavljene su kako bi se izbjegle gramatičke dvosmislenosti. Izostavljanje CoffeeScripts ovih JavaScript značajki ne utječe na kompatibilnost ili interoperabilnost s JavaScript modulima ili knjižnicama.