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.
W tej lekcji pokażę Ci jak działa operator spread na tablicach.
Jest to również funkcja języka JavaScript dostępna od standardu ES6, a więc bez
problemu możemy z niej korzystać w nowoczesnych przeglądarkach internetowych.
Utworzę sobie tablicę arr1 i przypiszemy jej jakieś trzy liczby wewnątrz
I teraz to co będziemy chcieli zrobić, to będziemy chcieli utworzyć drugą tablicę,
gdzie połączymy tę tablicę z jeszcze jedną.
Czyli chciała napisać arr2 i zrobilibyśmy tutaj arr1
i na tablicach mamy metody.
Jedną z metod jest concat, bo najpierw
chcę Ci pokazać jak to zrobić z użyciem tej metody, a potem jak zrobić to z
operatorem spread. Czyli możemy napisać concat
a więc połącz tę tablicę z inną tablicą. No i tutaj możemy bezpośrednio wpisać tablicę
albo przekazać jakąś zmienną, która ją przechowuje.
Więc wpiszmy sobie tablicę, gdzie będzie 4, 5 i 6. I taki zapis sprawia, że ta pierwsza
tablica w żaden sposób nie jest modyfikowana.
Tutaj jest tworzona druga tablica, która będzie mieć w sobie jakby te dwie tablice.
Zobaczmy sobie w konsoli co nam się tutaj pojawi.
Jak widzisz dokładnie stało się tak jak
powiedziałem, ale możemy z użyciem operatora spread
sprawić, że nie będziemy korzystać z metody concat.
No i to zależy od Ciebie, co dla Ciebie
będzie bardziej wygodne czy bardziej czytelne.
I można oczywiście z tego korzystać jeszcze w innych sytuacjach.
O tym ja będę mówił potem w przypadku funkcji, ale jeżeli chodzi o tworzenie
tablic, taką tablicę moglibyśmy z użyciem operatora spread stworzyć
w ten sposób. Napisali byśmy arr2 i po prostu utworzyli byśmy pustą tablicę.
Ale teraz do tej tablicy chciałbym rozstrzelić wszystkie elementy tej tablicy.
Możemy tak o tym myśleć, że my chcemy je tam rozstrzelić, czyli tak jakby wstawić po
kolei. I robi się to za pomocą tego operatora spread
i są to po prostu trzy kropki. I teraz podajemy tablicę, więc podam arr1.
Czyli jeżeli zrobię coś takiego,
to wszystkie elementy tej tablicy po kolei zostaną wstawione tutaj.
Gdybym zrobił tak, to utworzył bym nową
tablicę, w której pod pierwszym indeksem, czyli pod zero jest cała ta tablica.
Natomiast ja nie chcę mieć tablicy w tablicy, ale wszystkie jej elementy
wstawić do nowej tablicy. A więc zrobimy to w ten sposób.
I w tym momencie można powiedzieć, że mamy identyczną tablicę jak ta wcześniej.
Ale jeżeli chciałbym tutaj dodać kolejną tablicę taką jak ta 4, 5, 6,
to wystarczy, że tutaj po przecinku jako kolejny element podam znowu operator
spread i albo podstawie zmienną, albo wpiszę bezpośrednio taką tablicę.
Czyli mogłoby się wydawać, że ta nowa
tablica będzie mieć tylko dwa elementy, bo to jest pierwszy i po przecinku drugi.
Ale tak naprawdę będzie tutaj 6 elementów,
bo pierwszą tablicę rozstrzelimy, czyli wstawimy wszystkie jej elementy tutaj i potem
rozstrzelimy tę tablicę. I efekt będzie jak widzisz, dokładnie taki sam.
Jak wspomniałem, operator spread jeszcze
się może pojawiać w innych kontekstach w języku JavaScript,
co jeszcze zobaczysz w tym kursie,
natomiast w tej lekcji zapamiętaj, że
właśnie w ten sposób można połączyć ze sobą np.
kilka tablic.
No i oczywiście nic nie stoi na przeszkodzie, żeby tutaj dodać kolejne
elementy, gdybyśmy chcieli zrobić 7, 8, 9 itd.
Więc jak najbardziej możesz to zrobić.