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.
Kolejna pętla to pętla for.
Chyba najpopularniejsza we wszystkich językach programowania.
W JavaScript wygląda ona następująco.
Piszemy sobie for i tutaj będziemy musieli
podać trzy wyrażenia oddzielone średnikiem, a następnie blok kodu, który
chcemy wykonywać tak długo jak tutaj warunek będzie spełniony.
I teraz na początku podajemy wyrażenie
inicjujące, czyli takie, gdzie możemy sobie utworzyć np.
jakąś zmienną.
Zazwyczaj podaje się to na takim przykładzie zmiennej i, natomiast my tutaj
tworząc zmienną oczywiście możemy ją nazwać w dowolny sposób.
Czyli powiemy sobie let i równa się 0
i to jest coś, co wykona się tylko raz.
A więc ta pętla for na początku wykona to
wyrażenie, utworzy taką zmienną i do tego miejsca już wracać nie będzie.
Następnie podajemy warunek tak jak np. było w
przypadku pętli while. Czyli jak długo ma się wykonywać ta pętla.
Tak długo jak i jest mniejsze od 10 możemy
zrobić sobie coś takiego i to będzie sprawdzane za każdym razem,
kiedy pętla będzie miała się wykonać i podajemy po średniku
ostatnie trzecie wyrażenie to wyrażenie będzie wykonywane po obrocie takiej pętli.
Więc chcemy tutaj zwiększyć wartość tego i.
Ale moglibyśmy równie dobrze napisać i+ równa się 1 albo i równa się i + 1.
To jest po prostu dowolne wyrażenie JavaScript,
więc możemy je najkrócej zrobić w ten sposób.
A więc jeszcze raz jak ta pętla się będzie rozpoczynać, to się wykona raz utworzy nam
zmienną i, następnie sprawdzi czy i czyli 0 jest mniejsza od 10.
Tutaj po prostu musi być podstawione true
lub false albo wyrażenie takie, które ewaluuje do prawdy
lub fałszu, a więc wartość prawdziwa lub fałszywa.
Zatem wiemy, że ten operator to nam porówna i zamieni na true lub false.
Czyli to jest sprawdzane
następnie i jeżeli okaże się, że tutaj jest wartość prawdziwa, wykonamy kod, który
jest tutaj, a ja chcę po prostu wyświetlić w konsoli wartość i
i po wykonaniu tego kodu, którego to może być więcej, wskakujemy do trzeciego
wyrażenia zwiększamy i o 1, czyli i będzie miał wartość 1.
Tego już nie ruszamy.
Znowu pętla sprawdza warunek czy 1 jest mniejszy od 10. Tak.
Wykonaj ten kod i następnie przeskocz tutaj.
W pewnym momencie ten warunek zwróci false
i wtedy zakończymy pętle i będziemy kontynuować dalszy kod.
Więc mam nadzieję, że to jest jasne.
To się wykonuje raz na początku, to przed
każdym obrotem pętli, a to po obrocie pętli.
Zobaczmy, wypisaliśmy sobie wartości od zera do dziewięciu.
Pętla for również bardzo często jest wykorzystywana przy iteracji po tablicach,
aczkolwiek w JavaScript można to robić również w inny, prostszy sposób.
Ale spróbujmy sobie utworzyć jakąś tablicę
arr, która będzie miała tutaj kilka wartości, powiedzmy 1, 100, 55
wystarczy tyle.
I tak samo jak zrobiliśmy wyżej, możemy utworzyć podobną pętlę.
Tutaj natomiast warunkiem nie będzie już,
że mniejsza od 10, ale mniejsza od arr.length, czyli odwołamy się dynamicznie do
tego ile jest elementów w tablicy, w tym przypadku
tutaj trójka byłaby podstawiona i skoro pod i mamy 0, 1, 2 bo takie będą tutaj
wartości to możemy odczytać sobie odpowiednią komórkę tablicy
pisząc arr i wiesz, że do tablicy po indeksach się można odwoływać np.
0, 1 itd.
więc skoro pod i mamy dokładnie takie wartości możemy to tutaj podstawić.
W ten sposób jak widzisz wypisaliśmy 1, 100 i 55
czyli przeiterowaliśmy po wszystkich elementach tej tablicy.
Co natomiast tutaj w tym kodzie będziemy z tymi elementami robić
to już jest zupełnie inna historia.