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 => bindet this automatisch — 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 class und super lange 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.