Jeder, der schon einmal genervt von der teils sehr umständlichen Syntax von JavaScript war, sollte sich diesen interessanten Helfer einmal näher anschauen.
CoffeeScript besticht mit seiner klaren und intuitiven Syntax, welche an die Sprachen Python und Ruby angelehnt ist. Der geschriebene CoffeScript-Code kann eins zu eins in gut lesbaren JavaScript-Code kompiliert werden und ist unter anderem direkt im Open Source Web Application Framework Ruby-on-Rails integrierbar.
Ein kurzer Beispielauszug von der CoffeeScript Website:
| CoffeeScript | JavaScript |
|---|---|
| #conditionals | |
number = 42 if opposite |
if (opposite) number = -42; |
| #functions | |
func = (x,y) -> x*x x+y |
var func;
func = function(x, y) {
x * x;
return x + y;
};
|
| #existence | |
alert "I knew it!" if elvis? |
if (typeof elvis !== "undefined" && elvis !== null) {
alert("I knew it!");
}
|
| #Switch/When/Else | |
switch day
when "Mon" then go work
when "Tue" then go relax
when "Thu" then go iceFishing
when "Fri", "Sat"
if day is bingoDay
go bingo
go dancing
when "Sun" then go church
else go work
|
switch (day) {
case "Mon":
go(work);
break;
case "Tue":
go(relax);
break;
case "Thu":
go(iceFishing);
break;
case "Fri":
case "Sat":
if (day === bingoDay) {
go(bingo);
go(dancing);
}
break;
case "Sun":
go(church);
break;
default:
go(work);
}
|
Die verwendete Entwicklungsumgebung ist ein Ubuntu 11.04, CoffeeScript Version 1.1.2, Vim und das vim-coffee-script plugin. Auf dem Ubuntu wurden die zusätzlichen Quellen ppa:gias-kay-lee/coffeescript für den CoffeeScript Compiler und ppa:developmentseed/mapbox für nodejs (>= 0.4.12) benötigt. Danach ist der CoffeeScript Quellcode von der Kommandozeile kompilierbar entweder einmalig mittels coffee -cb file.coffee, oder bei jedem Veränderung des Dokuments mittels coffee -cbw file.coffee.
Zur Unterstützung der En
twicklung mit dem Editor Vim steht ein vim-coffee-script Plugin zur Verfügung.
Dieses erweitert Vim nicht nur um Syntax-Highlighting von CoffeeScrip Codet, sondern auch um die Funktion des Vim-internen Kompilieren von ausgewähltem Code in einem neuen Split-Fenster mittels :CoffeeCompile vertical. Auch das Kompilieren in Vim kann bei jeder Veränderung des Quellcodes automatisiert werden mittels :CoffeeCompile watch vertical.
