Vyšší učebnice JavaScriptu
Stylizace
Stylizace pomocí atributu style
Jednotky měření v atributu style
Chyby s jednotkami měření
Rozbalení hodnot CSS vlastností
Resetování stylů pomocí style
Hromadné nastavení stylů
Problémy s čtením stylů
Čtení vlastností ze souborů CSS
Převod přečtených hodnot
Stylizace pomocí tříd
Jedna třída pro stylizaci
Nevýhody tříd
Střídání stylů pomocí data-
Metriky prvků
Roztažení prvků v CSS
Testovací prvek
Klientská velikost prvku
Plná velikost prvku
Velikosti prvku s posuvníkem
Posouvání prvků
Změna posouvání prvku
Posunutí prvku na konec
Rozbalení prvku
Šířka posuvníku
Metriky okna
Velikost okna
Velikost okna včetně posuvníku
Zjištění pozice posuvníku okna
Zjištění a změna pozice posuvníku okna
Metoda pro posunutí okna na pozici
Metoda pro posunutí okna o hodnotu
Metoda pro posunutí okna k elementu
Událost posuvníku
Kolekce Map
Kolekce Set
Úvod
Počáteční naplnění
Užitečné možnosti
Iterace cyklem
Převod
Odstranění duplicit z pole
Získání bez duplicit
Pseudopole
Symboly
Úvod do typu Symbol
Popisy symbolu
Symboly jako klíče objektů
Iterace objektu se symboly
Funkce v objektu
Operace s objekty ve funkci
Globální symboly
Získání názvu symbolu
Známé symboly
Iterátory
Iterovatelné objekty
Funkce iterátoru
Výzvy iterátoru
Generátory
Smyčky v generátorech
Jednorázová práce iterátorů
Iterátor objektu
Vytvoření iterovatelného objektu
Generátor přes vypočítanou vlastnost
Vestavěný iterátor values
Vestavěný iterátor keys
Vestavěný iterátor entries
Tři vestavěné iterátory
Operátor spread a iterátory
Vestavěné iterátory řetězců
Pole číslic čísla
Číslování DOM elementů
Získávání dat DOM elementů
Formát JSON
Úložiště
Úvod
Úložiště v ladicím programu
Data
Jednorázové uložení
Přepsání dat
Odstranění dat
Vyčištění úložiště
Počet záznamů
Získání klíče podle čísla
Iterace úložiště podle indexů
Pole klíčů a hodnot úložiště
Ukládání struktur
Modifikace uložených struktur
Praktikum
Regulární výrazy
Úvod
Operátory opakování
Závorky pro skupinování
Uvozování speciálních znaků
Složené závorky
Omezení chamtivosti
Skupiny znaků
Sady znaků
Inverze sad znaků
Zvláštnosti cyrilice
Speciální znaky uvnitř sad
Skupiny znaků uvnitř sad
Výjimky speciálních znaků uvnitř sad
Znak stříšky uvnitř sad
Zvláštnosti pomlčky uvnitř sad
Ignorování velikosti písmen
Začátek a konec řádku
Hranice slov
Víceřádkový režim
Příkaz 'nebo'
Proměnná s regulárním výrazem
Metoda test
Metoda search
Metoda split
Metoda match
Zachytávací skupiny v metodě match
Globální match
Globální matchAll
Metoda exec
Vlastnost lastIndex
Zachytávací skupiny v metodě replace
Callback v metodě replace
Výchozí zachytávací skupiny v metodě replace
Zachytávací skupiny v samotném regulárním výrazu
Pojmenované zachytávací skupiny
Pojmenované zachytávací skupiny uvnitř výrazu
Nezachycující závorky
Pozitivní a negativní lookaround
Řetězec s regulárním výrazem
Příznaky pro řetězce
Obrácené lomítko v řetězcích
Výjimečné situace
Úvod
Druhy vzniklých situací
Zachycení výjimek
Vývoj s try-catch
Zachycení výjimek ve vnořeném kódu
Objekt s výjimkou
Základní typy výjimek
Aplikace typů výjimek
Vyhazování výjimek
Vyhazování různých typů výjimek
Vyhazování vlastních typů výjimek
Příklad výjimky s data- atributy
Příklad výjimky s JSON
Prohození výjimek
Asynchronnost
Synchronní a asynchronní kód
Asynchronnost událostního modelu
Asynchronnost načítání obrázků
Výjimečné situace v asynchronním kódu
Asynchronní callbacky
Úvod
Asynchronní předání výsledku do callbacku
Předávání parametrů do asynchronního callbacku
Zpracování výjimek v asynchronních callbackech
Načítání obrázků
Problém callback hell
Asynchronní načítání obrázků v cyklu
Promisy
Úvod do promisů
Výjimečné situace
Objekt s chybou
Samostatné zachycení výjimek
Stavy promisu
Řetězce promisů
Promisy uvnitř řetězce
Výjimky v řetězcích promisů
Práce s poli promisů
Vytváření splněných promisů
Promisifikace asynchronního kódu
Problém promise hell
Promisy v synchronním stylu
Výjimky v synchronním stylu
Knihovny
Nástroje
Sémantické verzování
Terminál
NodeJS
Úvod do npm
Instalace přes npm
Krátká forma instalace
Závislosti v souboru package.json
Dev závislosti
Formáty verzí závislostí
Nastavení souboru package.json
Vytvoření souboru package.json
Přenos npm projektu
Soubor package-lock.json
Aktualizace balíčků
Odstranění balíčků
Globální instalace přes npm
Globální odstranění balíčků
Nástroj npx
Spouštění skriptů přes npm
Správce Yarn
ES Moduly
Úvod do modulů
Zapnutí ES modulů
Instalace Webpacku
Princip fungování Webpacku
Nastavení Webpacku
Nastavení spuštění sestavení Webpacku
Testovací sestavení přes Webpack
Připojení bundlu k rozvržení
Vytvoření ES modulu
Připojení ES modulu
Přejmenování při importu
Import veškerého obsahu modulu
Export výchozí
Kombinace exportů
Import veškerého obsahu při kombinaci exportů
Export hodnot
Hodnoty jako konstanty
Import npm modulů
Dynamický import
Dynamický vícečetný import
Převod CommonJS modulů
HTTP protokol
Testovací server
Formuláře
Odesílání formulářů
Metody odesílání formulářů
Odesílání formulářů metodou GET
Odesílání formulářů metodou POST
GET požadavky
Aplikace GET požadavků
Tlačítka formuláře
Odesílání formulářů přes JavaScript
Zákaz odeslání formuláře
Úvod do FormData
Metody FormData
Iterátory FormData
AJAX
Úvod do AJAXu
Základy práce s fetch
Kód HTTP odpovědi
Úspěšnost požadavku
Výjimečné situace
Kompletní zachycení chyb
Hlavičky HTTP odpovědi
Získání JSON
Hlavičky HTTP požadavku
GET požadavky
POST požadavky
Data pomocí URLSearchParams
Data pomocí FormData
Odeslání celého formuláře
Odeslání JSON
Politika CORS
Přenos cookies
Synchronní styl
Práce s canvasem
Optimalizace kódu
Faktory rychlosti načítání webu
Dostupné zdroje
Optimalizace opakovaných operací
Optimalizace opakování těžkých operací
Optimalizace cyklických operací
Optimalizace zbytečných průchodů cyklu
Optimalizace pomocí vestavěných funkcí
Výběr optimálního algoritmu
Optimalizace použití regulárních výrazů
Optimalizace práce s DOM
Optimalizace spotřeby paměti
Optimalizace převodu na pole
Optimalizace obsluhy událostí
Optimalizace rychlosti na úkor paměti