Šta je CoffeeScript?


Šta je CoffeeScript?

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:

npm install -g coffee-script

 

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

day = new Date().getDay()
isFriday = if day == 5 then "YES" else "No"
alert "Da li je danas Petak? #{isFriday}"

 

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

coffee -c day.coffee

 

U istom folderu dobijamo fajl day.js

// 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);

 

  • 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

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);

 

Uslovne izjave u CoffeeScript-u

 

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);

 

Ukoliko ste se zainteresovali za CoffeeScript, evo nekoliko izvora informacija za učenje.

 

Zvanični sajt

Besplatne online knjige:

The Little Book on Coffeescript

Smooth Coffeescript

Latest posts by Nemanja Mandić (see all)

facebook
twitter
google
pinterest