CoffeeScript

Kokeneet kirjoittajat eivät ole vielä tarkistaneet sivun nykyistä versiota, ja se voi poiketa merkittävästi 26. helmikuuta 2016 tarkistetusta versiosta . tarkastukset vaativat 25 muokkausta .
CoffeeScript
Kieliluokka

moniparadigma :

oliosuuntautunut , pakottava , toiminnallinen , aspektisuuntautunut , prototyyppinen
Esiintyi 13. joulukuuta 2009
Tekijä Jeremy Ashkenas
Tiedostotunniste _ .coffee
Vapauta 2.7.0 [1]  (24. huhtikuuta 2022 ) ( 24-04-2022 )
Vaikutettu JavaScript , Python , Ruby , Haskell , Erlang
vaikutti MoonScript , LiveScript
Lisenssi MIT-lisenssi [2]
Verkkosivusto coffeescript.org
OS cross-platform

CoffeeScript ( ['kɔ:fɪ skrɪpt] ; kahvikirjoitus ) on ohjelmointikieli , joka on käännetty JavaScriptiksi . CoffeeScript lisää syntaktista sokeria Rubyn , Pythonin , Haskellin ja Erlangin tapaan parantaakseen koodin luettavuutta ja pienentääkseen koodin kokoa. CoffeeScriptin avulla voit kirjoittaa kompaktimpaa koodia JavaScriptiin verrattuna [3] . CoffeeScriptistä käännöksellä saatu JavaScript -koodi läpäisee JavaScript Lint -testin täysin .

Historia

Kielen luoja on Jeremy Ashkenas .

Alun perin kääntäjä kirjoitettiin Rubylla , mutta versiossa 0.5, joka julkaistiin 21. helmikuuta 2010 , kääntäjä toteutettiin itse CoffeeScriptissä.

Ruby - yhteisö on toivottanut CoffeeScriptin tervetulleeksi . Native CoffeeScript -tuki on lisätty Ruby on Rails -verkkokehykseen versiosta 3.1 lähtien.

Toteutus

Kielen virallisella verkkosivustolla on "try coffeescript" -osio, jonka avulla voit ajaa sillä ohjelmia verkossa [4] . Toisin kuin esimerkiksi Try Ruby [5] , palvelimelle ei lähetetä pyyntöjä, koodi käännetään ja suoritetaan suoraan selaimessa.

Esimerkkejä

Muuttujat

CoffeeScript:

ikä = 2 mies = oikea nimi = "Matvey"

JavaScript:

anna ikä = 2 , mies = tosi , nimi = "Matvey" ;

Toiminnot

CoffeeScript:

sanoa = ( puhe ) - > hälytyspuhe sano "Hei maailma!"

JavaScript käyttäen ECMAScript 2015:tä:

const sanoa = puhe => hälytys ( puhe ); sano ( 'Hei maailma!' );

JavaScript:

var say = toiminto ( puhe ) { hälytys ( puhe ); }; sanoa ( "Hei maailma!" );

Luokat ja objektit

CoffeeScript:

luokka Ihminen rakentaja : (@nimi) -> luokka Vauva laajentaa Human say : (msg) -> alert " #{ @name } sanoo ' #{ msg } '" sayHi : -> @say ( 'hei' ) matt = uusi Vauva ( "Matvey" ) matta . sano hei ()

JavaScript käyttäen ECMAScript 2015:tä:

class Ihminen { rakentaja ( nimi ) { tämä . nimi = nimi ; } } class Vauva laajentaa Ihmisen { sano ( msg ) { alert ( ` ${ this . name } say ' ${ msg } '` ); } sano hei () { tämä . sano ( 'hei!' ); } } const matt = uusi Vauva ( 'Matt' ); matta . sano hei ();

Analogi JavaScriptissä (eli analoginen, ei käännöstulos):

toiminto Ihminen ( nimi ){ tämä . nimi = nimi ; } toiminto Vauva ( nimi ){ Ihminen . kutsu ( tämä , nimi ); } vauva . prototyyppi = Objekti . luo ( Human.prototype ) ; _ vauva . prototyyppi . say = function ( msg ){ hälytys ( this . name + ' sanoo ' + msg ); }; vauva . prototyyppi . sayHi = funktio (){ tämä . sano ( 'hei!' ); }; vauva . prototyyppi . rakentaja = Ihminen ; var matt = uusi Vauva ( "Matt" ); matta . sano hei ();

Huomautus: JavaScriptissä "luokkien" kanssa työskennellessä (konstruktori + prototyypit + funktiot periytymistä ja sekoittamista varten) käytetään usein kääreitä (MooTools, AtomJS ja muut). JavaScript-analogia AtomJS-luokan kääreen kanssa:

var Ihminen = Luokka ({ alusta : toiminto ( nimi ) { this . name = nimi ; } }); var Vauva = Luokka ({ Laajentuu : Ihminen , sano : function ( msg ) { alert ( this . name + ' say ' + msg ); }, sayHei : function () { this . say ( 'hei' ); } } ) ; var matt = uusi Vauva ( "Matt" ); matta . sano hei ();

Esimerkki CoffeeScript-luokasta, jossa on erilaisia ​​ominaisuuksia.

class Test say = ( msg ) -> hälytysviesti # yksityinen menetelmä @echo = (msg) -> konsoli . log msg # staattinen menetelmä, kirjoitettu Test setHi : (msg) -> # dynaaminen menetelmä, kirjoitettu Test.prototype @hi = -> msg # dynaaminen menetelmä, kirjoitettu testiinstanssiin

Katso myös

Muistiinpanot

  1. 2.7.0 . Arkistoitu alkuperäisestä 23. kesäkuuta 2022. Haettu 23. kesäkuuta 2022.
  2. Coffeescript Open Source -projekti Open Hubissa: Lisenssisivu - 2006.
  3. Esimerkki virallisen verkkosivuston otsikkosivulla . Käyttöpäivä: 18. tammikuuta 2012. Arkistoitu alkuperäisestä 9. kesäkuuta 2017.
  4. Kokeile CoffeeScriptiä . coffeescript.org. Käyttöpäivä: 4. tammikuuta 2016. Arkistoitu alkuperäisestä 9. kesäkuuta 2017.
  5. Kokeile Rubyä: opi Ruby-kielen perusteet selaimessasi. . tryruby.org. Käyttöpäivä: 4. tammikuuta 2016. Arkistoitu alkuperäisestä 28. syyskuuta 2011.

Kirjallisuus

Linkit

Aiheeseen liittyviä projekteja: