Úloha 5 – Ternární operátor v praxi

Website: Moodle ZČU
Kurs: Sada úloh pro procvičení v předmětu KVD/PGM1P (BP Vítek Dolný)
Buch: Úloha 5 – Ternární operátor v praxi
Gedruckt von: Nepřihlášený host
Datum: Sonntag, 18. Oktober 2026, 19:50

Úvod do úlohy

V JavaScriptu se často potřebujeme rozhodnout mezi dvěma možnostmi – například vybrat správný text, číslo nebo barvu podle nějaké podmínky. Obvykle bychom použili klasickou konstrukci if–else, která je srozumitelná a univerzální. Pokud je ale podmínka jednoduchá a výsledek má být jedna hodnota, nabízí se úspornější zápis: ternární operátor ? :. Ten umožňuje zapsat podmínku na jediném řádku a rovnou vrátit jednu z hodnot.

Ternární operátor je tedy zkrácený zápis podmínky. Je funkčně ekvivalentní k if–else, ale díky svému tvaru se hodí jen pro krátké a přehledné situace, nikoliv pro složité větvení.


Teorie a principy

  • Syntaxe:

  • Pokud je podmínka pravdivá, výraz vrátí hodnotaPokudTrue.

  • Pokud je podmínka nepravdivá, vrátí hodnotaPokudFalse.

  • Výsledek ternárního operátoru můžeme rovnou přiřadit do proměnné, použít v textu nebo v jiném výrazu.

Ekvivalence s if–else:

je stejné jako:


Praktické příklady kódu

1) Jednoduchý výběr textu podle věku

2) Kratší zápis matematické volby


Typické chyby

  • Použití pro příliš složité podmínky – když se ternární operátor zanoří nebo má příliš dlouhé větve, kód se stává nepřehledným. V takovém případě je lepší klasické if–else.

  • Záměna s klasickým if – ternární operátor není příkaz, ale výraz, tedy musí vracet hodnotu. Nelze jej psát samostatně, pokud nevracíme výsledek.

  • Nevhodné formátování – pokud se ternární operátor píše bez mezer, čte se velmi špatně. Vždy doporučujeme formát podmínka ? hodnota1 : hodnota2.


Shrnutí

  • Ternární operátor ? : je zkrácený zápis podmínky, která vrací hodnotu.

  • Syntaxe: podmínka ? hodnotaPokudTrue : hodnotaPokudFalse.

  • Je funkčně ekvivalentní if–else, ale zapisuje se na jeden řádek.

  • Hodí se jen pro krátké a jednoduché podmínky (výběr textu, čísla, barvy).

  • U složitějších podmínek zůstaňte u klasického if–else pro čitelnost.

Úloha

Zadání (kontext úlohy):

Představ si, že píšeš program, který má podle věku uživatele určit, zda je „Dospělý“ nebo „Nezletilý“. K určení výsledku použij ternární operátor.


Cíl úlohy:

Procvičíš si psaní ternárního operátoru, který vrací jednu ze dvou hodnot.


Vstupní podmínky:

Student pracuje pouze s nově vytvořeným souborem script.js.
V proměnné vek bude uloženo libovolné číslo.


Požadovaný výstup:
  • Použij ternární operátor.

  • Do proměnné status ulož hodnotu "Dospělý", pokud vek je větší nebo rovno 18.

  • Jinak do proměnné status ulož "Nezletilý".

  • Výsledek vypiš do konzole ve tvaru: Uživatel je: Dospělý nebo Uživatel je: Nezletilý.

 

Řešení úlohy

Co je zde splněno

  • Použita proměnná vek s libovolnou hodnotou.

  • Pro vyhodnocení podmínky použit ternární operátor (podmínka ? hodnota1 : hodnota2).

  • Do proměnné status se uloží "Dospělý" nebo "Nezletilý".

  • Výsledek je vypsán do konzole ve správném tvaru.