Spójrzmy prawdzie w oczy, JavaScript nie zawsze miał najlepszą reputację wśród programistów, a od założenia CoffeeScript już w 2009 r. Ten mały język podjął świat twórców JavaScriptu przez burzę; głównie dlatego, że pokonuje to, co niektórzy mogą powiedzieć, jest najgorszym aspektem JavaScriptu: składnią jego kodu.

Mimo że jest to nowy język, bardzo szybko uzyskasz go, ponieważ jest to formatowany JavaScript; jest to w zasadzie ładniejszy, prostszy JavaScript.

Pisząc CoffeeScript nie zapominaj, że piszesz kod, który przed wdrożeniem zostanie skompilowany do JavaScriptu, który będzie zgodny z najlepszymi praktykami i przejdzie test JSLint, a więc o jedno mniej, o co musisz się martwić. Dane wyjściowe nadal będą prawidłowym kodem JavaScript, który przeglądarka nie będzie miała problemu z odczytaniem. CoffeeScript ma na celu JavaScript, co SASS jest do CSS: sposób na napisanie prostszego i bardziej produktywnego kodu.

Instalowanie i używanie

CoffeeScript to narzędzie node.js, więc aby go zainstalować, musisz mieć zainstalowany node.js, a także menedżer pakietów węzła. Zakładając, że zainstalowałeś te dwa pakiety, wszystko, co musisz zrobić, to przejść do terminala i zainstalować CoffeeScript z menedżerem pakietów, używając kodu:

npm install -g coffee-script

Właśnie z tym masz na maszynie zainstalowany CoffeeScript. Aby skompilować plik .coffee do pliku JavaScript, musisz wpisać:

coffee --compile script.coffee

Spowoduje to skompilowanie pliku script.coffee do script.js w tym samym katalogu, ale zrobi to tylko po uruchomieniu polecenia, jeśli chcesz go skompilować przy każdej zmianie wprowadzonej w pliku kawy, musisz dodać zegarek kompilacja:

coffee --watch --compile script.coffee

Dzięki temu Twój JavaScript będzie kompilowany za każdym razem, gdy dokonasz zmiany w pliku .coffee.

Zmienne

Pisząc zmienną JavaScript musimy poprzedzić słowo kluczowe var, używając CoffeeScriptu, w którym słowo kluczowe zniknęło i możesz po prostu wpisać zmienną i przypisać ją do czegoś. Inną rzeczą, na którą należy zwrócić uwagę, jest to, że CoffeeScript używa wielu metod wcięcia, aby uniknąć średników i aby język zrozumiał, że instrukcja zmiennej jest kompletna, wystarczy przejść do nowej linii:

age = 21country = "Portugal"

W JavaScript należy wpisać coś takiego:

var age = 21;var country = "Portugal";

To mały przykład, ale możesz zacząć widzieć, jak potężny jest CoffeeScript, jeśli chodzi o uproszczenie kodu.

Operatory logiczne i porównawcze

Pamiętasz cały ten czas spędzony na zapamiętywaniu operatorów JavaScript? Pamiętaj, zastanawiając się, dlaczego musisz użyć === zamiast po prostu używać? Dobrze też zajmuje się tym CoffeeScript. Oferuje kilka naprawdę fajnych aliasów dla operatorów:

Operatory porównania

  • === można teraz handlować po prostu ;
  • ! == jest równie przekształcany do bardziej czytelnego isnt.

Operatory logiczne

  • Zamiast używać && możesz po prostu użyć i;
  • jak dla || od teraz możesz wpisać lub;
  • mały wykrzyknik, który stwierdził, że nie jest przełączany na najbardziej logiczną rzecz: nie.

Jeśli oświadczenia

Kolejną rzeczą, z której CoffeeScript się pozbywa, są nawiasy klamrowe. Używa metody wcięcia, aby zadeklarować, kiedy znajdujesz się w instrukcji, jeśli instrukcje działają jak JavaScript, ale nie potrzebujesz nawiasów klamrowych ani nawiasów; po prostu wciskaj kod, który chcesz uruchomić, gdy wyrażenie jest prawdziwe:

if work > 24 and sleep < 8vacations()elsework()

skompiluje się do JavaScript jako:

if (work > 24 && sleep < 8) {vacations();} else {work();}

Mam nadzieję, że zaczynasz dostrzegać zalety CoffeeScript właśnie dzięki tym prostym pokazom, jak czysty może on sprawić twój kod, a czystszy kod oznacza łatwiejszy w utrzymaniu kod.

Pętla przez tablice

Zapętlanie przez tablice jest jedną z rzeczy, które musisz zrobić w każdej napisanej aplikacji JavaScript, a składnia do ich zapętlenia w JavaScript nie jest najprostsza lub najczystsza, myślę, że właśnie tutaj CoffeeScript naprawdę świeci. Aby przechodzić przez macierz, używamy pętli for..in, tak jak poniżej:

tasks = ['Design','Code','Groceries']for task in tasksalert task

Wszystko, co zrobi ten kod, to odczytanie wszystkich rzeczy z tablicy, a następnie powiadomienie, jeden po drugim, aby jeszcze prostsze rzeczy można nawet napisać dla ... w pętli w jednym wierszu, jak na przykład:

tasks = ['Design','Code','Groceries']alert task for task in tasks

Jest po prostu o wiele bardziej czytelny i łatwiejszy do utrzymania niż vanilla JavaScript, o którym kod stworzony przez CoffeeScript dla tych dwóch linii byłby:

var task, tasks, _i, _len;tasks = ['Design', 'Code', 'Groceries'];for (_i = 0, _len = tasks.length; _i < _len; _i++) {task = tasks[_i];alert(task);}

Podczas pętli

Pętle są również bardzo przydatne podczas konstruowania aplikacji JavaScript, a obsługa CoffeeScript nie ułatwia również czytania i pisania, na przykład:

while sleep < 8sleep()

Lub możesz napisać wszystko w jednym wierszu, jeśli wolisz:

while sleep < 8 then sleep()

Lub:

sleep() until sleep > 8

W czystej wersji JavaScript oznacza to:

//thenwhile (sleep < 8) {sleep();}

Lub:

//untilwhile (!(sleep > 8)) {sleep();}

Funkcje

Funkcje są również ważną częścią każdego języka programowania i nawet jeśli funkcje JavaScript nie są tak niechlujne, jak niektóre inne części CoffeeScript upraszcza to również do maksimum, prosta funkcja, która bierze czyjeś imię, a następnie ostrzega, że ​​może być napisana w ten sposób :

sayHi = (name) ->return "Hello " + namealert sayHi('Sara')

Wszystko, co robisz, to nazwa funkcji, w tym przypadku funkcje nazywają się sayHi, a następnie po znaku równości należy określić parametry. Tutaj nazwa jest pojedynczym parametrem, po zdefiniowaniu podstawy naszej funkcji musimy wpisać -> po następnej linii, co chcemy, aby funkcja działała tak, aby CoffeeScript wiedział, że jesteśmy wewnątrz funkcji. W tym przypadku wszystko, co chcę to zrobić, to zwrócenie "Hello", a następnie nazwisko osoby i na końcu używam prostego alertu, aby wywołać funkcję z nazwą. Możemy również napisać to w jednym wierszu, eliminując wpis i wcięcie, pisząc, co funkcja zrobi po ->:

sayHi = (name) -> return "Hello " + name

Ten mały fragment kodu zostanie wkompilowany w następujący kod JavaScript:

var sayHi;sayHi = function(name) {return "Hello " + name;};alert(sayHi('Sara'));

Oczywiście była to bardzo prosta funkcja, ale jak widać, zaoszczędziło nam to 3 wiersze kodu i oczywiście w JavaScript mogliśmy po prostu nazwać zmienną, ponieważ deklarujemy taką funkcję:

var sayHi = function(name) {return "Hello " + name;};alert(sayHi('Sara'));

Przykłady, które tutaj podałem, to to, do czego kompiluje się CoffeeScript i chociaż w większości przypadków istnieją łatwiejsze sposoby na napisanie czegoś, wszystkie skompilowane JavaScript są poprawne i semantyczne.

Wniosek

To tylko początek tego, co daje CoffeeScript, kiedy rzeczy zaczynają się komplikować, ten mały język da ci dużo dźwigni w porównaniu do JavaScript, mniej kodu, który musisz napisać, kod bardziej czytelny dla człowieka i łatwiejszy w utrzymaniu , abyś mógł wrócić do strony internetowej rok później i wiedzieć, co się dzieje w tym kodzie JavaScript.

Wkrótce zapoznaj się z drugą częścią tej serii, w której pokażę, jak połączyć CoffeeScript z jQuery i LocalStorage, aby stworzyć prostą aplikację listy kontaktów.

Czy użyłeś CoffeeScript, aby uprościć JavaScript? Jakie części CoffeeScript preferujesz w JavaScript? Daj nam znać w komentarzach.

Wyróżniony obraz / miniatura, obraz kawy przez Shutterstock.