CoffeeScript

Den aktuella versionen av sidan har ännu inte granskats av erfarna bidragsgivare och kan skilja sig väsentligt från versionen som granskades den 26 februari 2016; kontroller kräver 25 redigeringar .
CoffeeScript
Språkklass

multiparadigm :

objektorienterad , imperativ , funktionell , aspektorienterad , prototypisk
Framträdde i 13 december 2009
Författare Jeremy Ashkenas
Filtillägg _ .coffee
Släpp 2.7.0 [1]  (24 april 2022 ) ( 2022-04-24 )
Blivit påverkad JavaScript , Python , Ruby , Haskell , Erlang
påverkas MoonScript , LiveScript
Licens MIT-licens [2]
Hemsida coffeescript.org
OS plattformsoberoende

CoffeeScript ( ['kɔ:fɪ skrɪpt] ; coffee script ) är ett programmeringsspråk översatt till JavaScript . CoffeeScript lägger till syntaktisk socker i samma stil som Ruby , Python , Haskell och Erlang för att förbättra kodläsbarheten och minska kodstorleken. CoffeeScript låter dig skriva mer kompakt kod jämfört med JavaScript [3] . JavaScript -koden som tas emot genom översättning från CoffeeScript klarar JavaScript Lint -testet helt .

Historik

Skaparen av språket är Jeremy Ashkenas .

Till en början skrevs kompilatorn i Ruby , men i version 0.5, som släpptes den 21 februari 2010 , implementerades kompilatorn i själva CoffeeScript.

CoffeeScript har välkomnats av Ruby -gemenskapen. Native CoffeeScript-stöd har lagts till i Ruby on Rails webbramverk sedan version 3.1.

Implementering

Språkets officiella webbplats har en "prova coffeescript"-sektion som låter dig köra program på den online [4] . Till skillnad från till exempel Try Ruby [5] kommer det inte att finnas några förfrågningar till servern, koden kompileras och exekveras direkt i webbläsaren.

Exempel

Variabler

CoffeeScript:

ålder = 2 man = sant namn = "Matvey"

JavaScript:

låt ålder = 2 , man = sant , namn = "Matvey" ;

Funktioner

CoffeeScript:

säga = ( tal ) -> uppmärksammat tal säg "Hej världen!"

JavaScript med ECMAScript 2015:

const say = tal => varning ( tal ); säga ( 'Hej världen!' );

JavaScript:

var say = function ( tal ) { alert ( tal ); }; säga ( "Hej världen!" );

Klasser och objekt

CoffeeScript:

klass Mänsklig konstruktör: (@namn) -> klass Baby förlänger Mänsklig säg : (msg) -> alert " #{ @name } säger ' #{ msg } '" säg Hej : -> @say ( 'hej' ) matt = new Baby ( "Matvey" ) matt . säg hej ()

JavaScript med ECMAScript 2015:

klass Människan { konstruktor ( namn ) { detta . namn = namn ; } } class Baby extends Human { say ( msg ) { alert ( ` $ { this . name } säger ' $ { msg } '` ); } säg Hej () { detta . säga ( 'hej!' ); } } const matt = new Baby ( 'Matt' ); matt . säg hej ();

En analog i JavaScript (nämligen en analog, inte ett kompileringsresultat):

function Human ( namn ){ detta . namn = namn ; } function Baby ( namn ){ Människan . ring ( detta , namn ); } bebis . prototyp = Objekt . skapa ( Human.prototype ) ; _ bebis . prototyp . say = function ( msg ) { alert ( detta . namn + ' säger ' + msg ); }; bebis . prototyp . sayHi = function (){ this . säga ( 'hej!' ); }; bebis . prototyp . konstruktör = Människan ; var matt = new Baby ( "Matt" ); matt . säg hej ();

Obs: i JavaScript, när man arbetar med "klasser" (konstruktör + prototyper + funktioner för nedärvning och blandning), används ofta omslag (MooTools, AtomJS och andra). JavaScript-analogi med AtomJS-klassomslag:

var Human = Class ({ initialize : function ( name ) { this . name = name ; } }); var Baby = Class ({ Extends : Human , say : function ( msg ) { alert ( this . name + ' says ' + msg ); }, sayHi : function () { this . say ( 'hej' ); } } ) ; var matt = new Baby ( "Matt" ); matt . säg hej ();

Ett exempel på en CoffeeScript-klass med olika typer av egenskaper.

klass Testa säg = (msg) -> alert msg # privat metod @echo = (msg) -> console . log msg # statisk metod, skriven till Test setHi : (msg) -> # dynamisk metod, skriven till Test.prototype @hi = -> msg # dynamisk metod, skriven till testinstans

Se även

Anteckningar

  1. 2.7.0 . Arkiverad från originalet den 23 juni 2022. Hämtad 23 juni 2022.
  2. Coffeescript Open Source Project på Open Hub: Licenses Page - 2006.
  3. Exempel på titelsidan för den officiella webbplatsen . Datum för åtkomst: 18 januari 2012. Arkiverad från originalet den 9 juni 2017.
  4. Prova CoffeeScript . coffeescript.org. Tillträdesdatum: 4 januari 2016. Arkiverad från originalet 9 juni 2017.
  5. Prova Ruby: lär dig grunderna i Ruby-språket i din webbläsare. . tryruby.org. Datum för åtkomst: 4 januari 2016. Arkiverad från originalet den 28 september 2011.

Litteratur

Länkar

Relaterade Projekt: