Programmering

CoffeeScript 2 ankommer med JavaScript-syntaksforbedringer

CoffeeScript, et simpelt sprog, der kompileres til JavaScript og har til formål at gøre webudvikleres liv lettere, er netop flyttet til en anden større udgivelse, en der understreger syntaksforbedringer.

CoffeeScript 2, som havde været i en beta-fase siden april, har en compiler, der oversætter CoffeeScript-kode til moderne JavaScript-syntaks. En "klasse" CoffeeScript udføres nu ved hjælp af klasse nøgleord, for eksempel. Version 2 har også understøttelse af syntaks for asynkfunktioner, den fremtidige syntaks for objektdestruktion og JSX, som er JavaScript med indskudte XML-elementer.

De primære mål for CoffeeScript 2 var at fjerne inkompatibiliteter med JavaScript, der kunne forhindre CoffeScript i at blive brugt til et projekt og at bevare bagudkompatibilitet i størst mulig grad.

Nye muligheder blev udført med få brudende ændringer fra 1.x-versionen, sagde CoffeeScript-udviklere. Tidligere havde teamet advaret om, at CoffeeScript 2 ville kræve, at ændringer blev brudt i overensstemmelse med ECMAScript 2015-specifikationen og derover. "De fleste aktuelle CoffeeScript-projekter skal kunne opgraderes med ringe eller ingen refactoring nødvendig," sagde udviklerne. De få brydende ændringer involverer bundne (fede pil) funktioner, bundne generatorfunktioner og Literate CoffeeScript-parsing, som er blevet omformet til at være mere forsigtig med ikke at behandle indrykkede lister som kodeblokke.

Modernisering af JavaScript-syntaksen betyder, at udviklere muligvis har brug for at transpilere kompilatorens output, hvor transpilation konverterer kildekode til ækvivalent, men anden kildekode. CoffeeScript-dokumentation citerer det tilfælde, hvor udviklere ønsker at konvertere moderne JavaScript til ældre JavaScript for at køre i ældre versioner af Node.js eller ældre browsere. Indbygget support til Babel-spiller er inkluderet i CoffeeScript.

Med version 2 udsender CoffeeScript nu linjekommentarer efter at have kasseret dem i version 1.1. Blokeringskommentarer er nu tilladt hvor som helst, hvilket muliggør statiske typebemærkninger. Kommandolinjeværktøjet til kaffe er også blevet forbedret i opgraderingen.

Bemærk, at nogle JavaScript-funktioner er forsætligt udeladt, f.eks lade og var, navngivne funktioner og og sæt nøgleord. Der henviser til lade og navngivne funktioner blev udeladt for enkelhedens skyld, var blev udeladt, så CoffeeScript-udviklere ikke skulle have at gøre med variable erklæringer, og og sæt nøgleord blev udeladt for at undgå grammatisk tvetydighed. CoffeeScripts-udeladelse af disse JavaScript-funktioner påvirker ikke kompatibilitet eller interoperabilitet med JavaScript-moduler eller biblioteker.