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:

    1. Košík musí obsahovat alespoň 1 položku (pocetPolozek > 0).

    2. Celková cena musí být větší než 0.

    3. Pokud je zákazník registrovaný (registrovany === true), stačí libovolná cena.

    4. Pokud není registrovaný, cena musí být alespoň 300 Kč.

    5. Věk zákazníka musí být alespoň 18 let.

    6. 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 null nebo jiného typu.

  • Nepiš celé podmínky do jednoho řádku – dbej na čitelnost a srozumitelnou strukturu kódu.


Soubor

Odkaz na js soubor