CoffeeScript

Aktuální verze stránky ještě nebyla zkontrolována zkušenými přispěvateli a může se výrazně lišit od verze recenzované 26. února 2016; kontroly vyžadují 25 úprav .
CoffeeScript
Jazyková třída

multiparadigma :

objektově orientovaný , imperativní , funkční , aspektově orientovaný , prototypový
Objevil se v 13. prosince 2009
Autor Jeremy Ashkenas
Přípona souboru .coffee
Uvolnění 2.7.0 [1]  (24. dubna 2022 ) ( 2022-04-24 )
Byl ovlivněn JavaScript , Python , Ruby , Haskell , Erlang
ovlivnil MoonScript , LiveScript
Licence licence MIT [2]
webová stránka coffeescript.org
OS multiplatformní

CoffeeScript ( ['kɔ:fɪ skrɪpt] ; coffee script ) je programovací jazyk přeložený do JavaScriptu . CoffeeScript přidává syntaktický cukr v duchu Ruby , Python , Haskell a Erlang , aby se zlepšila čitelnost kódu a snížila velikost kódu. CoffeeScript umožňuje psát kompaktnější kód ve srovnání s JavaScriptem [3] . Kód JavaScript přijatý překladem z CoffeeScript plně prošel testem JavaScript Lint .

Historie

Tvůrcem jazyka je Jeremy Ashkenas .

Zpočátku byl kompilátor napsán v Ruby , ale ve verzi 0.5, která byla vydána 21. února 2010 , byl kompilátor implementován v samotném CoffeeScriptu.

CoffeeScript byl vítán komunitou Ruby . Od verze 3.1 byla do webového rámce Ruby on Rails přidána nativní podpora CoffeeScript .

Implementace

Oficiální webové stránky jazyka mají sekci „try coffeescript“, která vám umožňuje spouštět programy na něm online [4] . Na rozdíl například od Try Ruby [5] zde nebudou žádné požadavky na server, kód se kompiluje a spouští přímo v prohlížeči.

Příklady

Proměnné

CoffeeScript:

věk = 2 muž = pravé jméno = "Matvey"

JavaScript:

let věk = 2 , muž = pravda , jméno = "Matvey" ;

Funkce

CoffeeScript:

řekni = ( řeč ) -> varovná řeč řekni "Ahoj světe!"

JavaScript pomocí ECMAScript 2015:

const say = řeč => upozornění ( řeč ); řekni ( 'Ahoj světe!' );

JavaScript:

var say = funkce ( řeč ) { upozornění ( řeč ); }; řekněte ( „Ahoj světe!“ );

Třídy a objekty

CoffeeScript:

class Lidský konstruktor : (@jméno) -> class Baby extends Human say : (msg) -> alert " #{ @name } říká ' #{ msg } '" sayHi : -> @say ( 'ahoj' ) matt = nové miminko ( "Matvey" ) matt . řekni ahoj ()

JavaScript pomocí ECMAScript 2015:

class Člověk { konstruktor ( jméno ) { toto . jmeno = jmeno ; } } class Baby extends Human { say ( msg ) { alert ( ` ${ this . name } say ' ${ msg } '` ); } sayHi () { this . řekni ( 'ahoj!' ); } } const matt = new Baby ( 'Matt' ); matný . řekni Ahoj ();

Analog v JavaScriptu (jmenovitě analog, nikoli výsledek kompilace):

function Člověk ( jméno ){ this . jmeno = jmeno ; } funkce Dítě ( jméno ){ Člověk . volat ( toto , jméno ); } dítě . prototyp = Objekt . vytvořit ( Human.prototype ) ; _ dítě . prototyp . say = function ( msg ){ alert ( this . name + ' say ' + msg ); }; dítě . prototyp . sayHi = funkce (){ this . řekni ( 'ahoj!' ); }; dítě . prototyp . konstruktor = Člověk ; var matt = nové dítě ( "Matt" ); matný . řekni Ahoj ();

Poznámka: v JavaScriptu se při práci s „třídami“ (konstruktor + prototypy + funkce pro dědění a míchání) často používají wrappery (MooTools, AtomJS a další). Analogie JavaScriptu s obalem třídy AtomJS:

var Člověk = Třída ({ inicializovat : funkce ( jméno ) { toto . jméno = jméno ; } }); var Baby = Class ({ Extends : Human , say : function ( msg ) { alert ( this . name + ' say ' + msg ); }, sayHi : function () { this . say ( 'hello' ); } } ) ; var matt = nové dítě ( "Matt" ); matný . řekni Ahoj ();

Příklad třídy CoffeeScript s různými druhy vlastností.

class Test say = (msg) -> alert msg # private method @echo = (msg) -> console . log msg # statická metoda, zapsána do Test setHi : (msg) -> # dynamická metoda, zapsána do Test.prototype @hi = -> msg # dynamická metoda, zapsána do instance Test

Viz také

Poznámky

  1. 2.7.0 . Archivováno z originálu 23. června 2022. Staženo 23. června 2022.
  2. Coffeescript Open Source Project na Open Hub: Stránka licencí - 2006.
  3. Příklad na titulní stránce oficiálního webu . Datum přístupu: 18. ledna 2012. Archivováno z originálu 9. června 2017.
  4. Vyzkoušejte CoffeeScript . coffeescript.org. Datum přístupu: 4. ledna 2016. Archivováno z originálu 9. června 2017.
  5. Vyzkoušejte Ruby: naučte se základy jazyka Ruby ve svém prohlížeči. . tryruby.org. Datum přístupu: 4. ledna 2016. Archivováno z originálu 28. září 2011.

Literatura

Odkazy

Související projekty: