POZOR! Článek jsem napsal před více jak rokem, a tudíž už nemusí reflektovat můj nynější názor nebo může být zastaralý.
Co je to CoffeeScript?
CoffeeScript je jazyk, který se kompiluje do JavaScriptu (stejně jako LESS do CSS), a to dvěma způsoby:
- Napíšete kód v CoffeeScriptu, který na svém serveru zkompilujete a na web dáte kód až v JavaScriptu
- Dáte na web kompilátor napsaný v JavaScriptu a vedle toho kód v CoffeeScriptu, který se bude kompilovat až u klienta
Nyní se budu zabývat pouze tou druhou variantou.
Proč používat CoffeeScript?
Jednoduše proto, že velmi usnadňuje a urychluje psaní kódu. Pro někoho (třeba i pro mě) se i kód napsaný v CoffeeScriptu lépe čte.
Začínáme s CoffeeScriptem
Stačí si stáhnou ze stránek coffeescript.org poslední verzi a vytáhnou z něj soubor „/extras/coffee-script.js“, případně můžete použít kód rovnou z GitHubu:
Kód napsaný v CoffeeScriptu pak ukládejte s koncovkou *.coffee nebo vložte do HTML souboru přímo:
Syntaxe
CoffeeScript už nevyžaduje závorky jako JavaScript a proto je důležité odsazení (stejně jako u NEON). Vyberte si buď odsazení pomocí mezer nebo pomocí tabulátorů (nelze kombinovat).
Definice funkce
JavaScript:
var vypis = function (x) {
alert("Vypisuji text: " + x);
}
CoffeeScript:
vypis = (x) -> alert "Vypisuji text: #{x}"
CoffeeScript (funkce na více řádků):
vypis = (x) ->
alert "Vypisuji text: #{x}"
alert "Další výpis"
Volání funkce
JavaScript:
vypis ("Text");
CoffeeScript:
vypis "Text"
Návratová hodnota funkce
JavaScript:
var vratText = function (x) {
return "Vypisuji text: " + x;
}
alert(vratText("Nějaký text"));
CoffeeScript:
vratText = (x) -> "Vypisuji text: #{x}"
alert vratText "Nějaký text"
Podmínky
JavaScript:
var hodnota, pravda;
pravda = true;
if (pravda) {
hodnota = 22;
}
if (typeof pravda !== "undefined" && pravda !== null) {
alert("Proměnná pravda existuje");
}
if (pravda && hodnota) {
alert("Něco");
}
else {
alert("Nic");
}
hodnota = pravda ? 22 : 21;
CoffeeScript:
pravda = true
hodnota = 22 if pravda;
alert "Proměnná pravda existuje" if pravda?
if pravda and hodnota
alert "Něco"
else
alert "Nic"
hodnota = if pravda then 22 else 21
Pokud se vám tato kraťounká ukázka líbila, tak podobných „vychytávek“ přináší CoffeeScript mnohem více a nemá cenu je tady moc rozepisovat, nejvíce informací získáte právě ze stránek coffeescript.org.
Znáte někoho, komu by článek mohl pomoct? Zasdílejte mu ho :)