CoffeeScript | ||
Data primei versiuni | 13 decembrie 2009 | |
---|---|---|
Paradigmă | Multi-paradigmă | |
Autor | Jeremy Ashkenas | |
Ultima versiune | 2.5.1 (31 ianuarie 2020) | |
Tastare | Dinamic , slab | |
Influențată de | JavaScript , Python , Ruby , Haskell , YAML | |
Influențat | MoonScript | |
Scris in | CoffeeScript | |
Sistem de operare | Cross-platform | |
Licență | Licență MIT | |
Site-ul web | coffeescript.org | |
Extensie de fișier | cafea și litcoffe | |
CoffeeScript este un limbaj de programare , care se compilează în JavaScript . Limbajul adaugă zahăr sintactic inspirat de Python , Ruby și Haskell pentru a îmbunătăți concizia și lizibilitatea JavaScript, adăugând în același timp caracteristici precum filtrarea modelelor sau listele de înțelegere .
Rezultatul este compilat în JavaScript în mod previzibil, iar programele pot fi scrise cu mai puțin cod (de obicei cu o treime mai puține linii) fără niciun efect asupra vitezei de execuție. De cand16 martie 2011, CoffeeScript se află pe lista Cele mai populare proiecte GitHub .
Limba are o popularitate relativ mare în comunitatea Ruby. Suportul pentru CoffeeScript este inclus în versiunea 3.1 a Ruby on Rails . În plus, Brendan Eich a citat CoffeeScript ca o influență asupra ideii sale despre viitorul JavaScript. În 2018, CoffeeScript este mai puțin utilizat decât în anii precedenți, dar a adus o contribuție semnificativă la evoluția limbajului JavaScript.
13 decembrie 2009, Jeremy Ashkenas a făcut primul Git commit al CoffeeScript cu comentariul: „ commit inițial al limbajului misterios ”. Compilatorul a fost scris în Ruby. 24 decembrie 2009, a lansat prima versiune numerotată și documentată, 0.1.0. 21 februarie 2010, versiunea 0.5 a fost lansată, înlocuind compilatorul Ruby cu un compilator scris în CoffeeScript pur. În acest moment, proiectul a atras alți câțiva colaboratori la GitHub , iar paginile site-ului au fost vizualizate de peste 300 de ori pe zi.
24 decembrie 2010, Ashkenas a anunțat lansarea versiunii stabile 1.0.0 pe Hacker News , site-ul unde a fost anunțat pentru prima dată proiectul.
Pentru a calcula IMC-ul lui Barry, un jucător de baschet amator, facem de obicei așa ceva (aici în JavaScript ):
var masse = 72; var taille = 1.86; var IMC = masse/taille/taille; if ((18.5 < IMC) && (IMC < 25)) { alert('Barry a une corpulence normale'); }CoffeeScript vă permite să combinați cele două teste într-unul singur:
masse = 72 taille = 1.78 IMC = masse/taille/taille if 18.5<IMC<25 then alert 'Barry a une corpulence normale'sau, mai firesc pentru cei obișnuiți cu limba engleză,
masse = 72 taille = 1.78 IMC = masse/Math.pow taille, 2 alert 'Barry a une corpulence normale' if 18.5<IMC<25În general, implementarea algoritmului lui Euclid folosește o buclă ca (aici, în Python):
def pgcd(a, b): x, y = a, b while y > 0: x, y = y, x % y return xAcest lucru este posibil și în CoffeeScript; dar acesta are și o buclă până la :
pgcd = (a,b) -> [x,y] = [a,b] [x,y] = [y,x%y] until y is 0 xO buclă for poate fi adesea înlocuită cu o listă de înțelegere . De exemplu, pentru a calcula pătratele primelor numere impare (adică al căror restul de modulo 2 este egal cu 1), putem folosi una dintre următoarele propoziții:
Cataramă clasică for n in [1..10] if n%2 is 1 then alert n*n Listează în înțelegere alert [n*n for n in [1..10] when n%2 is 1] Cu un pas de 2 alert [n*n for n in [1..10] by 2]Codul JavaScript pentru a inițializa biblioteca jQuery este:
$(document).ready(function() { // Le code d'initialisation va ici });Sau, mai simplu:
$(function() { // Le code d'initialisation va ici });În CoffeeScript, cuvântul cheie functioneste înlocuit cu simbolul ->, iar indentarea este utilizată în locul acoladelor, ca în Python sau Haskell . Parantezele pot fi de obicei omise. Deci, fragmentul de mai sus poate fi scris, în CoffeeScript:
$(document).ready -> # Le code d'initialisation va iciSau:
$ -> # Le code d'initialisation va iciCompilatorul CoffeeScript a fost scris în CoffeeScript de la versiunea 0.5 și este disponibil ca utilitar Node.js ; totuși, compilatorul de bază nu necesită Node.js și poate fi utilizat în orice mediu JavaScript . Una dintre alternativele la utilitarul Node.js este Coffee Maven Plugin , un plugin pentru motorul de producție Apache Maven . Acest plugin folosește Mozilla Rhino , un motor JavaScript scris în Java .
Site-ul oficial, CoffeeScript.org , are un buton „Încercați CoffeeScript” în bara de navigare; făcând clic pe acesta se deschide o fereastră modală care vă permite să introduceți codul CoffeeScript, să vedeți rezultatul în JavaScript și să îl încercați direct în browser. Site-ul js2coffee oferă traducere bidirecțională.