CoffeeScript postaje sve više popularan u zadnjih nekoliko godina, pre svega zbog prihvatanja Node.js i Rails zajednice.  

CoffeeScript je jezik koji se kompajlira u JavaScript. Kod u .coffee fajlu se ne interpretira u runtime-u kao što je to slučaj u JavaScript-u, nego se kompajlira u .js fajl.  To znači da sa CoffeeScript-om možete uraditi isto što i sa JavaScript-om.

Šta će nam programski jezik koji je kopija drugog?

Glavna svrha CoffeeScripta jeste da bude jednostavnija verzija JavaScript-a.

CoffeeScript ima za cilj da istakne i pojednostavi fantastične delove svog pretka, a prikrije njegove mane. CoffeeScript nema tačku zarez, vitičaste zagrade, nema ključne reči var u definiciji promenljive, zagrade se mogu izostaviti prilikom poziva funkcija.

 

Coffeescript VS JavaScript

1

JavaScript pomalo liči na C ili Javu sa svojim vitičastim zagradama kao delimiterima blokova koda. CoffeeScript ima sličnu sintaksu poput Python i Ruby jezika. To znači da se sa pisanjem manje koda, može uraditi više i brže. Takođe je zbog svoje sintakse jednostavniji za čitanje i održavanje.

 

 

Instalacija

 

Prvo je potrebno instalirati Node.js, zatim u komandnoj liniji otkucati:

[code]
npm install -g coffee-script
[/code]

 

Da bismo bili sigurni da je instalacija uspešno izvršena, u novoj komandnoj liniji ćemo ukucati  coffee –help

 

Kod coffeescript fajlova koristi se .coffee ekstenzija

 

Kompajliranje Coffeescript koda

 

Posle instaliranog coffee-script paketa, alat za kompajliranje nam je dostupan. Pomoću njega se kompajliraju skripte, pre nego što budu isporučene browser-u

To znači da se fajlovi sa .coffee ekstenzijom pretvaraju u fajlove sa .js ekstenzijom i kao takvi se iz HTML koda prikazuju na veb stranicama.

Da bi razumeli kako to funkioniše potrebno je ovaj kod sačuvati u fajl sa nazivom day.coffee

[code]
day = new Date().getDay()

isFriday = if day == 5 then „YES“ else „No“

alert „Da li je danas Petak? #{isFriday}“
[/code]

 

Da bi browser pokrenuo ovaj kod, potrebno je prvo izvršiti kompajliranje u JavaScript:

[code]
coffee -c day.coffee
[/code]

 

U istom folderu dobijamo fajl day.js

[code]
// Generated by CoffeeScript 1.9.3

(function() {
var day, isFriday;
day = new Date().getDay();
isFriday = day === 5 ? „YES“ : „No“;
alert(„Da li je danas Petak? “ + isFriday);
}).call(this);
[/code]

 

  • Mogli smo napisati i naredbu coffee –watch –compile day.coffee
  • To znači da bi se svaka promena u fajlu koju sačuvamo kompajlirala automatski

 

Funkcije u CoffeeScript-u

[code]
script.coffee
name = „John“
person = true
yell = ->
alert name
yell()

script.js
// Generated by CoffeeScript 1.9.3
(function() {
var name, person, yell;
name = „John“;
person = true;
yell = function() {
return alert(name);
};
yell();
}).call(this);
[/code]

 

Uslovne izjave u CoffeeScript-u

 

[code]
script.coffee
name = „John“
age = 25

person = true

yell = ->

alert name

alert age

if age > 24 then yell()

script.js

// Generated by CoffeeScript 1.9.3

(function() {

var age, name, person, yell;

name = „John“;

age = 25;

person = true;

yell = function() {

alert(name);

return alert(age);

};

if (age > 24) {

yell();

}

}).call(this);
[/code]