Programmering

CoffeeScript 2 kommer med JavaScript-syntaksforbedringer

CoffeeScript, et enkelt språk som kompilerer til JavaScript og tar sikte på å gjøre webutvikleres liv lettere, har nettopp flyttet til en annen stor utgivelse, en som understreker syntaksforbedringer.

CoffeeScript 2, som hadde vært i et beta-stadium siden april, har en kompilator som oversetter CoffeeScript-kode til moderne JavaScript-syntaks. En "klasse" for CoffeeScript sendes nå ut med klasse søkeord, for eksempel. Versjon 2 har også støtte for syntaks for asynkfunksjoner, fremtidig syntaks for objektdestruksjon og JSX, som er JavaScript med kryssede XML-elementer.

De primære målene med CoffeeScript 2 var å fjerne inkompatibiliteter med JavaScript som kan hindre CoffeScript i å bli brukt til et prosjekt, og å bevare bakoverkompatibilitet i størst mulig grad.

Nye funksjoner ble gjort med få endringer fra 1.x-versjonen, sa CoffeeScript-utviklere. Tidligere hadde teamet advart om at CoffeeScript 2 ville kreve å bryte endringer i samsvar med ECMAScript 2015-spesifikasjonen og over. "De fleste nåværende CoffeeScript-prosjekter skal kunne oppgraderes med liten eller ingen refactoring nødvendig," sa utviklerne. De få bruddendringene involverer bundet (fettpil) funksjoner, bundet generatorfunksjoner og Literate CoffeeScript-parsing, som har blitt omformet for å være mer forsiktig med å ikke behandle innrykkede lister som kodeblokker.

Modernisering av JavaScript-syntaksen betyr at utviklere kan trenge å transpilere kompilatorens utdata, med transpilering som konverterer kildekode til ekvivalent, men annen kildekode. CoffeeScript-dokumentasjon siterer tilfelle der utviklere ønsker å konvertere moderne JavaScript til eldre JavaScript for å kjøre i eldre versjoner av Node.js eller eldre nettlesere. Innebygd støtte for Babel-spilleren er inkludert i CoffeeScript.

Med versjon 2 sender CoffeeScript nå linjekommentarer etter å ha kastet dem i versjon 1.1. Blokkeringskommentarer er nå tillatt hvor som helst, og muliggjør statiske merknader. Kommandolinjeverktøyet for kaffe er også forbedret i oppgraderingen.

Vær oppmerksom på at noen JavaScript-funksjoner er forsettlig utelatt, for eksempel la og var, navngitte funksjoner og og sett søkeord. Mens la og navngitte funksjoner ble utelatt for enkelhets skyld, var ble utelatt for at CoffeeScript-utviklere ikke skulle måtte håndtere variable erklæringer, og og sett nøkkelord ble utelatt for å unngå grammatisk tvetydighet. CoffeeScripts utelatelse av disse JavaScript-funksjonene påvirker ikke kompatibilitet eller interoperabilitet med JavaScript-moduler eller biblioteker.

$config[zx-auto] not found$config[zx-overlay] not found