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
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]