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.
Ostatnią grupą operatorów, którą omówimy są operatory inkrementacji i dekrementacji,
które operują na typie number, czyli na liczbach.
Utworzymy sobie zmienną number1 i przypiszemy jej wartość 0.
I teraz wyobraź sobie, że z jakiegoś
powodu będziesz chciał zwiększyć wartość tej zmiennej.
Czyli moglibyśmy to zrobić tak jak już Ci pokazywałem.
Number 1 równa się np.
number 1 + 1, zwiększymy o 1 albo tym operatorem
zwiększenia i przypisania, który też Ci
pokazywałem, można powiedzieć + równa się 1.
Albo można skorzystać z operatora inkrementacji pisząc number + +.
I tutaj ważne, żeby nie było żadnej spacji.
To sprawi, że wartość tej zmiennej zmieni się o 1.
Czyli jeżeli raz to wykonamy będzie ona przechowywała wartość 1.
Gdybym to zrobił ponownie, to na tym etapie mielibyśmy już tutaj wartość 2.
Czyli to jest operator inkrementacji i nazywa się to postinkrementacją,
z tego powodu, że najpierw jest zwracana
wartość, która tutaj jest number 1, a potem jest ona zwiększana.
W takiej sytuacji jak teraz to zapisałem, nie będzie to miało żadnego znaczenia, ale
zobacz co stałoby się, gdybym chciał tę wartość wyświetlić w konsoli.
Czyli napisałbym number 1 + + to co się najpierw stanie?
Otóż najpierw zostanie podstawiona do tej funkcji log aktualna wartość, czyli 0, a
później dopiero zostanie ona zwiększona do 1.
Więc jeżeli poniżej będę chciał wyświetlić
wartość number 1, to ona już tutaj będzie miała wartość 1 a nie 0.
Zobaczmy co się stanie.
Jak widzisz dokładnie to o czym mówię, czyli najpierw mamy 0 a potem 1.
A więc takie przypisanie sprawi, że
owszem, zmieniamy tę wartość, ale dopiero po zwróceniu tej wartości do tej funkcji.
To będzie istotne w niektórych przypadkach.
Natomiast mamy również operator
preinkrementacji, który najpierw zwiększy wartość, a potem ją wyświetli.
I gdybyśmy to zrobili na odwrót
czyli to sobie wykomentuje i te plusy użyli na początku, to to oznacza zwiększ o 1
wartość tej zmiennej i dopiero ją wtedy zwróć.
Więc ten console.log od razu nam wyświetli 1
i ten console.log również nam wyświetli 1.
Zobacz, tak to będzie wyglądać.
No i mamy jeszcze operator dekrementacji, czyli zmniejszania wartości.
Utwórzmy sobie zmienną number 2, która będzie miała wartość 5,
no i on oczywiście działa dokładnie tak samo, tylko że odejmuje 1.
A więc możemy zrobić console.log number minus, minus i console.log
number,
zobaczmy, tutaj oczywiście number 2, edytor mi podświetlił i zobaczymy 5, a następnie 4.
Czyli znowu tutaj zwróciliśmy piątkę i
dopiero zmniejszyliśmy wartość tej zmiennej.
Albo możemy zrobić na odwrót,
czyli na początku zrobić minus minus i to będzie predekrementacja
a więc zmniejsz wartość tej zmiennej o 1 i
dopiero wtedy zwróć się do funkcji log. I wtedy zobaczymy dwa razy 4.
To tyle jeżeli chodzi o te proste operatory.
Będziemy z nich jeszcze w tym kursie korzystać.