Úloha 1 – Validace číselného vstupu

Ú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ě:

  • Math.random() – vrátí náhodné desetinné číslo mezi 0 (včetně) a 1 (ne včetně).

  • Math.floor() – zaokrouhlí číslo dolů na nejbližší celé číslo.

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

  1. Zapomenutý převod typu
    Funkce prompt() vrací text. Pokud s ním chceme počítat, musíme použít Number().

  2. Záměna == a ===
    Trojité rovná se (===) porovnává i typ, což je bezpečnější a přesnější.

  3. Špatně spočítaný rozsah Math.random()
    Funkce nikdy nevrací hodnotu 1, proto je nutné přičíst +1, pokud chceme horní hranici zahrnout.

  4. 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í.