od Podstaw
9 godz. 20 min · JavaScript · Full-stack i Programowanie
Piotr PalarzWeb DeveloperJavaScript to język programowania, który napędza niemal wszystkie strony internetowe. Dopełnia on technologie HTML i CSS, za pomocą których tworzymy strukturę i wygląd dokumentu. Co jednak w sytuacji, gdy chcemy po kliknięciu w wybrany przycisk wyświetlić powiększone zdjęcie lub wczytać dodatkowe dane z serwera? To właśnie w takich sytuacjach przydaje się język JavaScript i tzw. DOM API, dostępne w przeglądarce. Jak się przekonasz, możliwości nowoczesnych przeglądarek w połączeniu z tym językiem są naprawdę ogromne.
Język JavaScript może być używany nie tylko na stronach internetowych. Z tego powodu, w kursie omówimy najpierw najważniejsze konstrukcje tego języka, które są niezależne od platformy uruchomieniowej. Dzięki temu zbudujesz fundamenty niezbędne do tego, by wykorzystać ten język np. w środowisku Node.js. Krok po kroku omówimy sposoby tworzenia zmiennych, dostępne typy danych i operatory. Następnie zobaczysz jak tworzyć tablice i obiekty, z jakich instrukcji warunkowych i pętli możesz korzystać, a także jak tworzyć własne funkcje. Przekazywana wiedza uwzględniać będzie nowości, które pojawiły się w języku wraz z rewolucyjnym standardem EcmaScript 6 (ES6).
Sam język JavaScript to nie wszystko, by tchnąć ducha w strony internetowe. Z tego powodu, przeglądarki internetowe udostępniają tzw. DOM API. To interfejs, który z użyciem języka JavaScript pozwala na manipulację treścią i wyglądem strony. W kursie bardzo dokładnie omówimy czym jest Obiektowy Model Dokumentu, a także jak z nim pracować. Zobaczysz jak tworzyć nowe elementy HTML i wstawiać je na stronę, jak modyfikować ich treść, atrybuty, style czy klasy CSS. Poznasz sposoby na odczytywanie położenia elementu na stronie i jego wymiarów, które będą niezbędne w wielu sytuacjach. Dowiesz się także, jak przypisywać obsługę zdarzeń w przeglądarce, by np. wywołać własną funkcję, gdy ktoś kliknie w wybrany przez Ciebie przycisk.
JSON to popularny format wymiany danych, a Ajax to potoczna nazwa dla asynchronicznych zapytań HTTP, które wysyłać możemy z poziomu kodu JavaScript. Dziś niemal każda strona internetowa wykorzystuje te technologie. W niektórych przypadkach jako dopełnienie podstawowej funkcjonalności witryny, a w innych jako główny motor napędzający stronę. Jeśli kiedykolwiek widziałeś, jak na stronie internetowej jakaś treść "doczytuje" się np. podczas przewijania - widziałeś w praktyce Ajax. W jednym z rozdziałów kursu zobaczysz, jak pracować z tym formatem, a także jak wysyłać wspomniane zapytania do serwera.
Choć kurs który masz przed sobą, jest kursem dla początkujących, to aby zrozumieć jak działa język JavaScript i jak z nim się współcześnie pracuje, omówimy dwa ważne tematy - zarządzanie zależnościami i bundlowanie kodu. Dowiesz się czym jest npm i jak z jego pomocą pobierać paczki gotowego kodu z internetu, a także jak sprawić, by bez trudnu dołączać je do własnego kodu. W tym celu skorzystamy z narzędzia snowpack, które pozwoli nam także na optymalizację kodu przed jego wypuszczeniem w świat. Na tym etapie omówimy również jak działają moduły ESM, pozwalające dzielić kod na mniejsze części.
Kurs podzielony został na możliwie krótkie lekcje, do których w każdej chwili możesz wrócić. Jeśli zatem zapomnisz jak odczytywać wymiary elementu na stronie, szybko odnajdziesz odpowiednią lekcję. Czym jednak była by sama teoria i proste przykłady, bez pokazania, jak połączyć je w całość i wykorzystać w praktyce? Dobra wiadomość jest taka, że w kursie stworzymy aż 5 praktycznych projektów, wykorzystujących zdobytą wcześniej wiedzę. Najpierw napiszemy program losujący Dużego Lotka, następnie dynamiczny pasek postępu przeczytania artykułu, dymek pojawiający się nad elementem po najechaniu na niego myszą, wygenerujemy tabelkę w użytkownikami na podstawie danych JSON, a na koniec tworzymy prosty odtwarzacz wideo, z możliwością pauzowania i przewijania filmu.
Kurs ten jest dla wszystkich osób, które znają już podstawy HTML i CSS i chciałyby przejść poziom wyżej i dodać do swoich stron dynamiczności. Żadna wcześniejsza wiedza z zakresu JavaScript nie jest wymagana, ale zalecana jest podstawowa wiedza z zakresu samego programowania (czym są zmienne, pętle, funkcje itd.). Materiał ten będzie również świetnym odświeżeniem i usystematyzowaniem wiedzy dla osób, które już z tym językiem miały do czynienia. Po przerobieniu tego kursu będziesz gotowy, by poznawać język JavaScript dalej i zacząć korzystać z nowoczesnych frameworków.
Omówimy teraz instrukcję switch, która jest też dostępna w języku JavaScript.
Jest ona bardzo popularna również w innych językach, chociaż przyznam szczerze, że ja
rzadko po nią sięgam, bo to samo można zrobić na inne sposoby.
Ale wyobraźmy sobie, że mamy jakąś liczbę np.
1 i że chcemy stworzyć sobie
takie przypisania, że jak mamy 1, to chcemy mieć słowo 1 itd.
Więc napiszemy word jak słowo i przypiszemy pustą wartość.
I teraz za pomocą if moglibyśmy zrobić tak,
jeżeli number równa się 1 to do word przypisujemy jeden.
W przeciwnym wypadku mogli byśmy sprawdzić.
Jeżeli number równa się 2, to przypiszemy
word dwa i zróbmy sobie jeszcze jeden else if.
Jeżeli number
równa się 3, to word równa się trzy.
Oczywiście tutaj nie musi być tej spacji.
To też zależy już od Twoich preferencji.
No i jeszcze w przeciwnym wypadku zróbmy tak, że przypiszemy sobie wartość nieznana.
OK, no i teraz zrobimy console.log
word.
Zobaczmy co nam się wyświetli. Mamy jeden,
jeżeli tutaj zmienimy sobie na 3.
Oczywiście wyświetli trzy,
a jeżeli damy taką, której tutaj nie objęliśmy, to będzie wartość nieznana.
Teraz Ci pokażę, jak właśnie za pomocą
instrukcji switch można również zrobić dokładnie to samo.
Instrukcja switch wygląda w ten sposób, że
piszemy sobie switch i podajemy coś, co chcemy sprawdzać.
W tym przypadku będzie to number, czyli tutaj zostanie podstawiona czwórka.
Następnie otwieramy sobie takie nawiasy i tworzymy tak zwane przypadki, czyli case.
Piszemy case 1 dwukropek i tutaj kod, który chcemy wykonać.
To oznacza, że w sytuacji kiedy number będzie miał wartość 1 to chcemy wykonać
jakiś kod, a my chcemy po prostu do word przypisać 1, czyli tak jak wyżej.
I następnie musimy skorzystać ze specjalnego słowa break, które zakończy dalsze sprawdzanie.
Potem robimy sobie kolejny case mówiąc
jeżeli number jest równe 2 to do word przypisz dwa i znowu zakończ.
Jeżeli by tego breaka nie było i załóżmy ten case byłby obsługiwany to
przypisali byśmy tutaj 1 i przeszli byśmy od razu do przypisania 2. Czyli nie
przerwali byśmy. Ten break jest tutaj potrzebny.
OK i następnie zróbmy sobie case 3 word równa się trzy i break,
natomiast tak jak tutaj mieliśmy taki domyślny przypadek jeżeli żadna wartość
nie została obsłużona to przypisaliśmy wartość nieznana,
to w przypadku instrukcji switch robimy to za pomocą właśnie takiej sekcji default.
I tutaj napiszemy, że jeżeli żaden z
powyższych nie został spełniony to chcemy przypisać wartość nieznana.
I tutaj już tego breaka robić nie trzeba,
a to wynika z tego, że pod spodem po prostu już nic więcej nie ma.
Więc jeżeli sobie to wykomentuje i tutaj zrobimy console.log(word) to
zobaczysz, że efekt będzie dokładnie ten sam.
Mamy wartość nieznana,
natomiast jeżeli byśmy tutaj zmienili to np.
na 2 to będziemy widzieli tutaj dwa.
Czyli ta instrukcja wygląda tak.
Jeżeli wcześniej nigdy jej nie widziałeś, to to może wyglądać trochę dziwnie.
Ona generalnie pozwala nam zrealizować dokładnie to samo co bloki
if i else if, więc to od Ciebie zależy czy będziesz po nią sięgał.
Ja mogę powiedzieć osobiście, że bardzo rzadko z niej korzystam.