CoffeeScript ist eine kleine Sprache, die 1:1 zu JavaScript kompiliert — „It's just JavaScript". Jeremy Ashkenas veröffentlichte die erste Version im Dezember 2009; der ursprünglich in Ruby geschriebene Compiler wurde ab Version 0.5 (2010) in CoffeeScript selbst implementiert.
Der coffee-Befehl
coffee -c datei.coffee # kompiliert nach datei.js
coffee -w -c src/ # Watch-Modus: bei Änderung neu kompilieren
coffee -o lib/ -c src/ # Ausgabe-Verzeichnis festlegen
coffee -e "console.log 'Hallo'" # Code direkt ausführen
coffee -i # interaktive REPL starten
coffee datei.coffee # Skript direkt ausführen
cake ist das Makefile-Äquivalent von CoffeeScript: Aufgaben stehen in einer Cakefile und werden mit cake build, cake test usw. aufgerufen.
Syntax-Ideen
- Signifikante Einrückung statt geschweifter Klammern;
#für Kommentare. - Fat Arrow
=>bindetthisautomatisch — ein Vorläufer der modernen JavaScript-Arrow-Functions. - String-Interpolation mit
#{ausdruck}, Existential-Operator?, Comprehensions für Schleifen, Splats für Rest-Parameter. - Klassen mit
classundsuperlange vor ES6.
Über die Rails-Asset-Pipeline und jQuery-Ära war CoffeeScript in den 2010er-Jahren weit verbreitet; TypeScript und modernes JavaScript haben viele seiner Ideen übernommen. Der Ableger LiveScript (2011) erweiterte die Sprache um funktionale Elemente.
Verwandte Grundlagen: JavaScript-Befehle, TypeScript-Befehle und Python-Befehle — CoffeeScript verbindet JS-Targeting mit einrückungsbasierter, lesbarer Syntax.