CoffeeScript

Versiunea actuală a paginii nu a fost încă examinată de colaboratori experimentați și poate diferi semnificativ de versiunea revizuită la 26 februarie 2016; verificările necesită 25 de modificări .
CoffeeScript
Clasa de limba

multi-paradigma :

orientat pe obiecte , imperativ , funcțional , orientat pe aspect , prototip
Aparut in 13 decembrie 2009
Autor Jeremy Ashkenas
Extensie de fișier .coffee
Eliberare 2.7.0 [1]  (24 aprilie 2022 ) ( 24.04.2022 )
A fost influențat JavaScript , Python , Ruby , Haskell , Erlang
influențat MoonScript , LiveScript
Licență Licență MIT [2]
Site-ul web coffeescript.org
OS multiplatformă

CoffeeScript ( ['kɔ:fɪ skrɪpt] ; script de cafea ) este un limbaj de programare tradus în JavaScript . CoffeeScript adaugă zahăr sintactic în fila Ruby , Python , Haskell și Erlang pentru a îmbunătăți lizibilitatea codului și a reduce dimensiunea codului. CoffeeScript vă permite să scrieți un cod mai compact în comparație cu JavaScript [3] . Codul JavaScript primit prin traducere de la CoffeeScript trece complet testul JavaScript Lint .

Istorie

Creatorul limbii este Jeremy Ashkenas .

Inițial, compilatorul a fost scris în Ruby , dar în versiunea 0.5, care a fost lansată pe 21 februarie 2010 , compilatorul a fost implementat chiar în CoffeeScript.

CoffeeScript a fost binevenit de comunitatea Ruby . Suportul nativ CoffeeScript a fost adăugat cadrului web Ruby on Rails începând cu versiunea 3.1.

Implementare

Site-ul oficial al limbii are o secțiune „try coffeescript” care vă permite să rulați programe online [4] . Spre deosebire de, de exemplu, Try Ruby [5] , nu vor fi cereri către server, codul este compilat și executat direct în browser.

Exemple

Variabile

CoffeeScript:

varsta = 2 barbat = numele adevarat = "Matvey"

JavaScript:

lasă vârsta = 2 , bărbat = adevărat , nume = "Matvey" ;

Funcții

CoffeeScript:

say = ( vorbire ) -> vorbire alertă spune „Bună lume!”

JavaScript folosind ECMAScript 2015:

const say = vorbire => alertă ( vorbire ); spune ( "Bună lume!" );

JavaScript:

var say = function ( vorbire ) { alert ( vorbire ); }; spune ( "Bună lume!" );

Clase și obiecte

CoffeeScript:

Clasa Constructor uman : (@nume) -> clasa Baby extinde Om spune: (msg) -> alertă #{ @name } spune „ #{ msg } „” sayHi : -> @spune ( „bună ziua” ) mat = nou Baby ( "Matvey" ) matt . spune Bună ()

JavaScript folosind ECMAScript 2015:

clasa Uman { constructor ( nume ) { asta . nume = nume ; } } clasa Baby extinde Om { say ( msg ) { alert ( ` ${ this . name } says ' ${ msg } '` ); } sayHi () { asta . spune ( "bună ziua!" ); } } const mat = nou Bebeluș ( 'Matt' ); mat . spune Bună ();

Un analog în JavaScript (și anume, un analog, nu un rezultat de compilare):

function Human ( nume ){ this . nume = nume ; } function Baby ( nume ){ Om . apel ( acest , nume ); } copilul . prototip = Obiect . creați ( Human.prototype ) ; _ copilul . prototip . say = function ( msg ){ alert ( this . name + ' says ' + msg ); }; copilul . prototip . sayHi = function (){ this . spune ( "bună ziua!" ); }; copilul . prototip . constructor = Human ; var mat = nou Baby ( „Matt” ); mat . spune Bună ();

Notă: în JavaScript, când se lucrează cu „clase” (constructor + prototipuri + funcții pentru moștenire și amestecare), se folosesc adesea wrapper-urile (MooTools, AtomJS și altele). Analogie JavaScript cu învelișul clasei AtomJS:

var Human = Class ({ initialize : function ( name ) { this . name = name ; } }); var Baby = Clasă ({ Extinde : Om , spune : funcția ( msg ) { alertă ( acest . nume + ' spune ' + msg ); }, sayHi : funcția () { asta . spune ( ' salut' ); } } ) ; var mat = nou Baby ( „Matt” ); mat . spune Bună ();

Un exemplu de clasă CoffeeScript cu diferite tipuri de proprietăți.

class Test say = (msg) -> alert msg # metoda privată @echo = (msg) -> console . log msg # metoda statica, scrisa in Test setHi : (msg) -> # metoda dinamica, scrisa in Test.prototype @hi = -> msg # metoda dinamica, scrisa in instanta Test

Vezi și

Note

  1. 2.7.0 . Arhivat din original pe 23 iunie 2022. Preluat la 23 iunie 2022.
  2. Proiectul open source coffeescript pe Open Hub: Pagina de licențe - 2006.
  3. Exemplu pe pagina de titlu a site-ului oficial . Data accesului: 18 ianuarie 2012. Arhivat din original pe 9 iunie 2017.
  4. Încercați CoffeeScript . coffeescript.org. Data accesului: 4 ianuarie 2016. Arhivat din original pe 9 iunie 2017.
  5. Încercați Ruby: aflați elementele de bază ale limbajului Ruby în browser. . tryruby.org. Data accesului: 4 ianuarie 2016. Arhivat din original la 28 septembrie 2011.

Literatură

Link -uri

Proiecte asociate:

  • CoffeeScript Compiler pentru Windows
  • CoffeeKup , un motor de șabloane și un motor pentru generarea de cod HTML în CoffeeScript.
  • Prepros compilează CoffeeScript din mers. Sub Windows și OSX (comilează, de asemenea, LESS, Stylus, Haml, Jade, Markdown, Slim, SASS)