Souhrnná úloha – Validace objednávky
Úloha - Validace objednávky
Zadání (kontext úlohy)
Máš e-shop a potřebuješ ověřit, zda lze dokončit objednávku.
Při validaci je třeba porovnávat různé hodnoty (čísla, řetězce, booleany).
Původní kód je nepřehledný, místy špatně používá porovnávací operátory a ignoruje rozdíly mezi == a ===.
Tvým cílem je opravit a zpřehlednit podmínky.
Cíl úlohy
Procvičíš si:
-
základní porovnávání hodnot (
===,!==), -
práci s dynamickým typováním a rozdíly mezi
==a===, -
relační operátory (
<,>,<=,>=), -
refaktoring složených podmínek,
-
dokumentaci a optimalizaci výrazů.
Vstupní podmínky
-
Pracuješ pouze se souborem
script.js. -
Platí tato pravidla pro dokončení objednávky:
-
Košík musí obsahovat alespoň 1 položku (
pocetPolozek > 0). -
Celková cena musí být větší než 0.
-
Pokud je zákazník registrovaný (
registrovany === true), stačí libovolná cena. -
Pokud není registrovaný, cena musí být alespoň 300 Kč.
-
Věk zákazníka musí být alespoň 18 let.
-
Globální nastavení nesmí obsahovat
zakazObjednavky: true.
-
Požadovaný výstup
-
Oprav podmínku tak, aby respektovala všechna výše uvedená pravidla.
-
Používej
===místo==. -
Rozděl složitý výraz do pojmenovaných mezivýsledků (např.
maDostatekPolozek,maDostatecnouCenu). -
Přidej komentáře vysvětlující účel jednotlivých částí.
-
Použij guard clauses, kde to dává smysl.
Doplňující pokyny
-
Zajisti, aby se správně vyhodnocovalo i v případě, že některé hodnoty jsou
nullnebo jiného typu. -
Nepiš celé podmínky do jednoho řádku – dbej na čitelnost a srozumitelnou strukturu kódu.