Dokumentacja JavaScript
Zwięzła dokumentacja JavaScript oparta na przykładach. Przeczytaj o zagadnieniu, zobacz kod i przećwicz go na ścieżce Coddy.
Zacznij ścieżkę JavaScript z przewodnikiemGetting Started
- Co to jest JavaScriptCzym naprawdę jest JavaScript, gdzie działa, do czego służy i czym różni się od Javy i TypeScriptu. Konkretne wprowadzenie dla początkujących.
- Uruchamianie JSPraktyczne sposoby uruchamiania JavaScript w 2026 roku: konsola przeglądarki, znacznik script w HTML, Node.js z terminala i kiedy sięgać po każdy z nich.
- Składnia i średnikiJak działa składnia JavaScript: instrukcje, bloki, wyrażenia, a do tego cała prawda o średnikach, automatycznym wstawianiu średników i sytuacjach, w których to zawodzi.
- Tryb ścisłyCo naprawdę zmienia tryb ścisły w JavaScript, jak go włączyć i dlaczego moduły i klasy mają go automatycznie.
- KomentarzeJak działają komentarze w JavaScript: `//` dla pojedynczych linii, `/* */` dla bloków i nawyki, dzięki którym komentarze są przydatne, a nie są szumem.
Variables & Types
- let, const, varTrzy sposoby deklarowania zmiennej w JavaScript i dlaczego nowoczesny kod domyślnie używa `const`, `let` tylko wtedy, gdy musi, a `var` praktycznie nigdy.
- Typy prymitywneSiedem typów prymitywnych w JavaScript (string, number, bigint, boolean, null, undefined, symbol) i czym różnią się od obiektów.
- Stringi i szablonyJak działają stringi w JavaScript: cudzysłowy, backticki, interpolacja, tekst wielowierszowy i metody, po które naprawdę sięgasz na co dzień.
- Liczby i BigIntJak naprawdę działa typ Number w JavaScript: precyzja liczb zmiennoprzecinkowych, MAX_SAFE_INTEGER i kiedy lepiej sięgnąć po BigInt.
- null vs undefinedCzym naprawdę różnią się null i undefined w JavaScript, jak sprawdzić jedno lub drugie i po które sięgać we własnym kodzie.
- Koercja typówJak JavaScript zamienia wartości między typami: niejawne reguły, na których ludzie się potykają, jawne konwersje, które warto wybierać, i kiedy działa każda z nich.
- Operatory równościJak działa porównywanie w JavaScript: równość ścisła i luźna, dziwactwa ==, zachowanie NaN i obiektów oraz kiedy sięgnąć po Object.is.
Control Flow
- OperatoryOperatory, które JavaScript daje do liczenia, porównywania wartości, łączenia wartości logicznych i przypisywania, razem z pułapkami, które naprawdę dają się we znaki.
- if / elseJak działa if/else w JavaScript: warunki, łańcuchy else if, pułapki wartości truthy i falsy oraz kiedy lepiej sięgnąć po operator trójargumentowy.
- SwitchJak działa instrukcja switch w JavaScript: case, break, default, fallthrough i kiedy switch sprawdza się lepiej niż łańcuch if/else.
- Pętla forJak działa klasyczna pętla `for` w JavaScript: trzyczęściowy nagłówek, iteracja po tablicach, break i continue, pętle zagnieżdżone i typowe pułapki.
- Pętle whileJak działają pętle `while` i `do...while` w JavaScript, kiedy wybrać je zamiast `for` i jak unikać pętli nieskończonych.
- for...of i for...inCzym naprawdę różnią się for...of i for...in w JavaScript: wartości kontra klucze, tablice kontra obiekty i kiedy sięgać po którą pętlę.
- Truthy i falsyCo w JavaScript jest truthy, a co falsy, pełna lista wartości falsy i jak konwersja na boolean wygląda w prawdziwym kodzie.
Iteration
- Iteratory i generatoryJak działa protokół iteratora w JavaScript, jak sprawić, by własne obiekty były iterowalne, i jak funkcje generatorów czynią to bezbolesnym.
- SymboleCzym są symbole w JavaScript, po co istnieją i jak well-known symbols, takie jak Symbol.iterator, pozwalają twoim obiektom korzystać z funkcji języka.
Functions
- Deklaracje funkcjiJak deklarować funkcje w JavaScript: słowo kluczowe function, parametry, zwracane wartości, hoisting i kiedy wybrać deklarację, a kiedy wyrażenie.
- Funkcje strzałkoweJak działają funkcje strzałkowe (arrow functions) w JavaScript: składnia `=>`, niejawny return, obsługa `this` i kiedy wybrać je zamiast `function`.
- Parametry domyślneJak działają parametry w JavaScript: wartości domyślne, kiedy uruchamia je undefined, kolejność obliczania i różnica między parametrami a argumentami.
- Rest i spreadJak działa operator ... w JavaScript: zbieranie argumentów przez parametry rest, rozwijanie tablic i obiektów przez spread oraz kiedy używać którego.
- Domknięcia (closures)Domknięcie (closure) to funkcja, która pamięta otaczające ją zmienne. Zobacz, jak działają domknięcia w JavaScript, na przykładach do uruchomienia i w realnych zastosowaniach.
- Słowo kluczowe thisJak naprawdę działa `this` w JavaScript: cztery zasady wiązania, czym różnią się funkcje strzałkowe i jak uniknąć klasycznej pułapki „this is undefined”.
- Funkcje wyższego rzęduFunkcje wyższego rzędu w JavaScript: przekazywanie funkcji jako argumentów, zwracanie ich z innych funkcji i wzorce map/filter/reduce, których użyjesz na co dzień.
Objects & Arrays
- ObiektyJak naprawdę działają obiekty w JavaScript: tworzenie, odczyt i zapis właściwości, dodawanie metod i wzorce, dzięki którym kod z obiektami jest czytelny.
- TabliceJak działają tablice w JavaScript: tworzenie, indeksowanie, length, push/pop, slice vs splice i pętle, które czyta się najlepiej.
- DestrukturyzacjaJak działa destrukturyzacja (destructuring) w JavaScript: wyciąganie wartości z obiektów i tablic, zmiana nazw, wartości domyślne, zagnieżdżone wzorce i parametry funkcji.
- Spread obiektówJak działa operator spread na obiektach w JavaScript: kopiowanie, łączenie, nadpisywanie właściwości i pułapka płytkiej kopii, na której wiele osób się potyka.
- Metody tablicMetody tablic, które zastępują większość pętli for: map, filter, reduce, find, some i every. Zobacz, które zmieniają tablicę, a które zwracają nową.
- Map i SetJak działają Map i Set w JavaScript, czym różnią się od zwykłych obiektów i tablic oraz kiedy warto po nie sięgnąć.
- JSONJak zamieniać obiekty JavaScript na JSON i z powrotem: JSON.stringify, JSON.parse, funkcje replacer i reviver oraz wartości, które nie przetrwają tej podróży.
- Optional ChainingJak operator `?.` pozwala sięgać do zagnieżdżonych obiektów, tablic i metod bez wywracania programu na null lub undefined.
- Nullish CoalescingJak operator `??` wybiera wartość domyślną tylko wtedy, gdy wartość to `null` lub `undefined`, i dlaczego w większości realnych przypadków jest lepszy od `||`.
Classes & Prototypes
- KlasyJak naprawdę działają klasy w JavaScript: konstruktory, metody, pola instancji, gettery i settery oraz model myślowy stojący za słowem kluczowym `class`.
- DziedziczenieJak działa dziedziczenie w klasach JavaScript: extends, super, nadpisywanie metod i kiedy dziedziczenie to złe narzędzie.
- Metody staticJak działają statyczne metody i właściwości w klasach JavaScript: kiedy ich używać, jak zachowuje się `this` i jaki wzorzec factory umożliwiają.
- Pola prywatneJak prefiks `#` sprawia, że pola i metody klasy w JavaScript są naprawdę prywatne: składnia, zasady i dlaczego konwencja z podkreśleniem nie wystarcza.
- PrototypyCzym naprawdę są prototypy w JavaScript, jak łańcuch prototypów rozwiązuje wyszukiwanie właściwości i jak składnia `class` przekłada się na ten sam mechanizm.
Async JavaScript
- Event loopModel myślowy stojący za asynchronicznym JavaScript: stos wywołań, kolejka zadań, kolejka mikrozadań i to, jak event loop łączy je w całość.
- CallbackiJak działają callbacki w JavaScript: przekazywanie funkcji jako argumentów, wzorzec error-first i dlaczego zagnieżdżone callbacki popchnęły społeczność w stronę obietnic.
- PromiseJak działają Promise w JavaScript: trzy stany, łańcuchy z then i catch, łączenie przez Promise.all i tworzenie własnych przez new Promise.
- async/awaitJak naprawdę działa async/await w JavaScript: funkcje async, czekanie na obietnice, obsługa błędów przez try/catch i równoległe uruchamianie zadań.
- Fetch APIJak używać Fetch API w JavaScript: żądania GET i POST, parsowanie JSON, poprawna obsługa błędów i przerywanie wolnych żądań.
- Błędy asyncJak naprawdę przepływają błędy w asynchronicznym JavaScript: try/catch z async/await, .catch w obietnicach i pułapki, które po cichu połykają awarie.
Modules & Tooling
- Moduły ESJak działają moduły ES w JavaScript: eksporty nazwane i domyślne, składnia import, dynamiczne import() oraz zasady, które odróżniają moduły od zwykłych skryptów.
- CommonJS vs ESMDwa systemy modułów, z którymi żyje JavaScript: skąd się wzięły oba i jak wybrać między require a import w projektach Node.
- Podstawy npmJak naprawdę działa npm: instalowanie pakietów, init, zależności deweloperskie, aktualizacje oraz model myślowy stojący za node_modules i plikiem lockfile.
- package.jsonCo jest w package.json: pola, które mają znaczenie, jak działają skrypty i jak zakresy semver decydują, które wersje instaluje npm.
- Środowisko NodeCzym jest środowisko uruchomieniowe Node.js, czym różni się od przeglądarki i jakie podstawowe API (globalne obiekty, moduły, process, fs) umożliwiają JavaScript po stronie serwera.
Errors & Debugging
- try/catchJak działa try/catch/finally w JavaScript: łapanie błędów, obiekt błędu, ponowne rzucanie i sytuacje, w których try/catch to złe narzędzie.
- Typy błędówWbudowane typy błędów w JavaScript: co oznacza każdy z nich, kiedy go zobaczysz i jak czytać komunikat bez zgadywania.
- Konsola i DevToolsMetody konsoli i funkcje DevTools, dzięki którym debugowanie JavaScript idzie szybciej niż rozsypywanie console.log po całym kodzie.
Working with Real Data
- RegexJak działają wyrażenia regularne w JavaScript: tworzenie wzorców, podstawowe metody (test, match, replace), flagi i grupy przechwytujące na prawdziwych przykładach.
- Data i czasJak naprawdę działa obiekt Date w JavaScript: tworzenie dat, formatowanie, dodawanie dni, strefy czasowe i pułapki, na których ludzie się potykają.
- URL i query stringJak parsować, budować i modyfikować adresy URL w JavaScript za pomocą API `URL` i `URLSearchParams`, bez wyrażeń regularnych i bez błędów w przypadkach brzegowych.