Úvod do úlohy
Úvodní část této kapitoly představuje základní vestavěné funkce JavaScriptu, které se používají při práci s čísly, texty a uživatelskými vstupy. Jsou to nástroje, které máme k dispozici bez nutnosti importu jakékoliv knihovny – jsou součástí samotného jazyka. Pomáhají nám převádět datové typy, ověřovat hodnoty a vytvářet náhodná čísla.
Díky nim dokážeme například:
-
převádět texty na čísla a čísla na text,
-
kontrolovat, zda hodnota je nebo není číslo,
-
generovat náhodné hodnoty,
-
nebo zaokrouhlovat výsledky výpočtů.
Znalost těchto funkcí je nezbytná, protože tvoří základ pro všechny výpočty, validace a komunikaci s uživatelem.
Teorie a principy
Převody datových typů
JavaScript je dynamicky typovaný jazyk, což znamená, že proměnná může během programu měnit svůj typ. Při práci s uživatelskými vstupy (např. z funkce prompt()) obvykle získáme hodnotu jako text, i když potřebujeme číslo. Proto používáme převodní funkce:
| Funkce |
Účel |
Příklad |
Výsledek |
Number() |
Převede hodnotu na číslo |
Number("25") |
25 |
String() |
Převede hodnotu na text (řetězec) |
String(123) |
"123" |
Boolean() |
Převede hodnotu na logickou hodnotu |
Boolean(0) |
false |
Poznámka: Při převodu se používají interní pravidla jazyka. Například prázdný řetězec "" se při převodu na číslo změní na 0, ale při převodu na logickou hodnotu se změní na false.
Kontrola hodnot
Když pracujeme s výpočty, je vhodné ověřit, zda daná hodnota je skutečně číslo a zda dává smysl. JavaScript k tomu poskytuje kontrolní funkce:
| Funkce |
Popis |
Příklad |
Výsledek |
isNaN() |
Vrátí true, pokud hodnota není číslo |
isNaN("text") |
true |
isFinite() |
Vrátí true, pokud hodnota je konečné číslo |
isFinite(10/0) |
false |
Tyto funkce chrání kód před neplatnými hodnotami, které by mohly způsobit chybu nebo nesmyslný výsledek.
Generování náhodných čísel
Objekt Math poskytuje mnoho matematických funkcí. Pro náhodná čísla se používají zejména dvě:
Spojením těchto funkcí získáme náhodné celé číslo v určitém rozsahu:
Praktické příklady kódu
Příklad 1: Převody typů
Tento příklad ukazuje, jak snadno lze měnit typy hodnot a jaký výsledek má jejich převod. To je nezbytné například při výpočtech s daty z formulářů.
Příklad 2: Kontrola platnosti vstupu
Funkce isNaN() zde slouží k ověření, zda lze vstup převést na číslo. Pokud ne, zobrazí se varování.
Příklad 3: Generování náhodného čísla
Tento kód simuluje hod kostkou – vygeneruje celé číslo mezi 1 a 6.
Typické chyby a záludnosti
-
Zapomenutý převod typu
Funkce prompt() vrací text. Pokud s ním chceme počítat, musíme použít Number().
-
Záměna == a ===
Trojité rovná se (===) porovnává i typ, což je bezpečnější a přesnější.
-
Špatně spočítaný rozsah Math.random()
Funkce nikdy nevrací hodnotu 1, proto je nutné přičíst +1, pokud chceme horní hranici zahrnout.
-
Nedorozumění u isNaN()
Funkce před kontrolou převádí hodnotu na číslo. Například isNaN(" ") vrátí false, protože prázdný řetězec se převede na 0.
Shrnutí
-
Number(), String(), Boolean() – převádějí mezi základními datovými typy.
-
isNaN(), isFinite() – kontrolují platnost číselných hodnot.
-
Math.random() a Math.floor() – vytvářejí a zaokrouhlují náhodná čísla.
-
Při práci s uživatelskými vstupy je nutné ověřovat typ a hodnotu, aby nedocházelo k chybám.
-
Tyto funkce patří k základní výbavě JavaScriptu a jsou nezbytné pro bezpečné a čitelné programování.