Ú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–elsepro č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é
statusulož hodnotu"Dospělý", pokudvekje větší nebo rovno 18. -
Jinak do proměnné
statusulož"Nezletilý". -
Výsledek vypiš do konzole ve tvaru:
Uživatel je: DospělýneboUživatel je: Nezletilý.
Řešení úlohy
Co je zde splněno
-
Použita proměnná
veks libovolnou hodnotou. -
Pro vyhodnocení podmínky použit ternární operátor
(podmínka ? hodnota1 : hodnota2). -
Do proměnné
statusse uloží"Dospělý"nebo"Nezletilý". -
Výsledek je vypsán do konzole ve správném tvaru.