Javascript ist alt. Sehr, sehr alt. Und es gibt sicher einige Dinge, die man in Javascript auch besser machen kann. Dieses Ziel hat sich CoffeeScript auf die Fahne geschrieben: Javascript einfacher und besser zu machen.
Um eins vorweg zu nehmen: Es ist prinzipiell gelungen. Als langjähriger Javascript-User fühlt man sich dabei natürlich komisch, wenn man auf einmal kaum noch Klammern hat und Einrückungen für die Programmlogik braucht. Auch die natürlichere Schreibweise mit if … then … else und Strings, die auch Zeilenumbrüche enthalten können, sind erstmal ungewohnt. Hier wurde von verschiedenen Sprachen versucht ein “Best of Breed” zu mischen und ich finde es ziemlich gelungen.
CoffeeScript wird mittels node.js in Javascript kompiliert. Allerdings gibt es hier, ähnlich wie bei LESS auch, eine Möglichkeit, das direkt im Browser auszuprobieren.
Durch extrem neue Syntax und ein (für JS-Entwickler) gewöhnungsbedürftige Formatierung ist ist CoffeeScript aber vor allem in zwei sehr speziellen Bereichen besonders interessant:
- Parameter mit Default-Werten
- Klassen und Objektorientierte Entwickung in JavaScript
Vererbung, Construktoren und - Bestens dokumentierter Code (seit der frisch releasten 1.5.0) mit Literate CoffeeScript
Es lohnt sich, hier einen Blick drauf zu werfen, insbesondere wenn man schon mit Grunt arbeitet, dann kann man sein CoffeeScript gleich compilieren lassen.