Interaktywny kurs
Kurs JavaScript
Ucz się JavaScript od podstaw z interaktywnym silnikiem, który uruchamia Twój kod bezpośrednio w przeglądarce.
01 · Moduł 1 — Podstawy języka
Fundamenty: deklarowanie zmiennych, rozpoznawanie typów, wykonywanie operacji arytmetycznych i podejmowanie decyzji.
- 1.1Zmienne: let i constDeklarowanie wartości, wybór między const a let, zrozumienie podstawowego zakresu.~8 min
- 1.2Typy prostestring, number, boolean, null, undefined: podstawowe elementy budulcowe języka.~8 min
- 1.3OperatoryOperatory arytmetyczne, porównania, logika booleowska i pierwszeństwo operatorów.~10 min
- 1.4Instrukcje warunkowe: if, else, operator trójargumentowyUruchamianie różnego kodu w zależności od wartości wyrażenia.~10 min
02 · Moduł 2 — Łańcuchy znaków i liczby
Dwa najczęściej używane typy: tworzenie tekstów z szablonami literalnymi, manipulowanie nimi za pomocą metod łańcuchowych, wykonywanie obliczeń z liczbami i obiektem Math.
- 2.1Łańcuchy znaków i szablony literalneCudzysłowy, znaki ucieczki, grawisy i interpolacja ${...} do tworzenia tekstu.~8 min
- 2.2Metody łańcuchowelength, toUpperCase, includes, slice, split, replace: metody, z których korzystasz każdego dnia.~10 min
- 2.3Liczby i MathLiczby całkowite i dziesiętne, zaokrąglanie, Math.min/max/round/floor/ceil, Math.random.~10 min
- 2.4Konwersje typówNumber, String, parseInt, parseFloat, toFixed i sytuacje, gdy zaskakuje Cię NaN.~8 min
03 · Moduł 3 — Tablice i obiekty
Dwie najczęściej używane struktury danych: uporządkowane listy (tablice) oraz mapy klucz-wartość (obiekty).
- 3.1Tablice: uporządkowana listaTworzenie tablicy, odczyt/zapis przez indeks, push/pop/shift/unshift, length.~10 min
- 3.2Obiekty: mapa klucz-wartośćLiterały, dostęp przez kropkę i nawiasy kwadratowe, dodawanie/usuwanie właściwości.~10 min
- 3.3Destrukturyzacja i spreadWyciąganie wielu wartości w jednej linii; kopiowanie i scalanie tablic oraz obiektów za pomocą operatora `...`.~12 min
- 3.4Iteracja po kolekcjachPętla for…of na tablicach, for…in na obiektach, Object.keys/values/entries.~10 min
04 · Moduł 4 — Funkcje
Dzielenie programów na części wielokrotnego użytku: deklarowanie ich, pisanie w zwięzły sposób z użyciem strzałek, przekazywanie elastycznych parametrów i zrozumienie domknięć.
- 4.1Deklarowanie funkcjiDeklaracja funkcji (function declaration) vs wyrażenie funkcyjne (function expression), parametry, zwracanie wartości.~10 min
- 4.2Funkcje strzałkoweZwięzła składnia `=>`, zwięzłe ciało vs blok, niejawne zwracanie.~10 min
- 4.3Parametry domyślne i restWartości domyślne, `...rest` dla zmiennej liczby argumentów, spread w wywołaniu.~12 min
- 4.4Domknięcia i zakresFunkcje, które pamiętają swoje otoczenie: liczniki, fabryki, łańcuch zakresów.~12 min
05 · Moduł 5 — Kontrola przepływu
Powtarzanie, skoki, obsługa błędów: konstrukcje dające Twojemu kodowi możliwość reagowania na dane i problemy.
- 5.1Pętle: for i whileKlasyczne for, while, do…while: powtarzanie do momentu spełnienia warunku.~10 min
- 5.2for…of oraz for…inIterowanie po wartościach kolekcji vs kluczach obiektu. Kiedy używać którego.~10 min
- 5.3break i continueWczesne wyjście z pętli lub przejście do kolejnej iteracji.~10 min
- 5.4try / catch / throwZgłaszanie i przechwytywanie błędów, oddzielanie normalnego przepływu od wyjątkowego.~12 min
06 · Moduł 6 — Funkcjonalne metody tablic
Metody przekształcające tablice: map do zmiany każdego elementu, filter do selekcji, reduce do agregacji, find/some/every do wyszukiwania, sort do porządkowania.
- 6.1map i filterTransformowanie każdego elementu (map) i wybieranie podzbioru (filter).~10 min
- 6.2reduceAgregowanie tablicy do pojedynczej wartości: sumy, zliczenia, mapy.~12 min
- 6.3find, some, everyZnajdowanie pierwszego elementu, sprawdzanie czy przynajmniej jeden lub wszystkie spełniają predykat.~10 min
- 6.4sortSortowanie tablicy za pomocą komparatora; stabilne sortowanie, kopiowanie przez toSorted.~12 min
07 · Moduł 7 — Asynchroniczność
Kod, który czeka: obietnice (Promises), async/await, symulowane wywołania sieciowe (fetch) i asynchroniczna obsługa błędów.
- 7.1Obietnice: czym sąStany pending/fulfilled/rejected, .then/.catch, Promise.resolve i reject.~12 min
- 7.2async / awaitPisanie kodu asynchronicznego, który czyta się jak kod synchroniczny.~12 min
- 7.3fetch (symulowane)Wywoływanie punktu końcowego, odczytywanie JSON, łączenie wyników za pomocą Promise.all.~14 min
- 7.4Błędy w kodzie asynchronicznymtry/catch wokół await, .catch na obietnicach, błędy w Promise.all.~12 min
08 · Moduł 8 — Praktyka i kompozycja
Połącz wszystkie elementy w całość: organizuj kod w moduły, parsuj pliki CSV, waliduj dane wejściowe i planuj zadania za pomocą obietnic.
- 8.1Moduły ESM: import / exportDzielenie kodu na pliki i komponowanie bibliotek za pomocą export i import (koncepcja).~12 min
- 8.2Wyzwanie: parser CSVPrzekształcanie ciągu znaków CSV w tablicę obiektów przy użyciu split, map i destrukturyzacji.~15 min
- 8.3Wyzwanie: walidator danychValidacja obiektów za pomocą reguł komponowalnych i zbieranie wszystkich błędów.~15 min
- 8.4Wyzwanie: planowanie z obietnicamiWykonanie zadań szeregowo, równolegle i z limitem współbieżności.~15 min