Úvod do úlohy

Jednoduché podmínky jsou skvělým startem, ale v reálných programech málokdy rozhodujeme jen podle jedné proměnné. Často potřebujeme kombinovat více testů dohromady – například kontrolovat věk uživatele a současně i to, zda zadal správné heslo. Právě k tomu slouží relační a logické operátory, díky nimž můžeme vytvářet složitější výrazy. Ty se pak vyhodnotí vždy na true (pravda) nebo false (nepravda), a podle toho se program rozhodne, který kód spustí.

Teorie a principy

Relační operátory porovnávají hodnoty:

  • > – větší než

  • < – menší než

  • >= – větší nebo rovno

  • <= – menší nebo rovno

  • === – rovnost hodnoty i typu (striktní porovnání)

  • !== – nerovnost hodnoty nebo typu

Logické operátory pak umožňují kombinovat více podmínek:

  • && – logické A (obě podmínky musí být pravdivé)

  • || – logické NEBO (stačí, aby jedna podmínka byla pravdivá)

Při vyhodnocování se vždy dostaneme k výsledku true nebo false, i když je výraz složitější. To je důležité – podmínky v if nikdy nevrací číslo nebo text, ale vždy jen pravdu nebo nepravdu.

Praktické příklady kódu

1. Kontrola věku pomocí relačních operátorů:

2. Kombinace podmínek pomocí &&:

3. Použití || (NEBO):

4. Použití !== (nerovnost):

Typické chyby / záludnosti

  • Záměna == a ===: operátor == porovnává jen hodnotu, zatímco === navíc i datový typ. Proto může být výsledek odlišný. Doporučuje se vždy používat === a !==.

  • Zapomenuté závorky při složitějších výrazech: pokud kombinujete && a ||, je lepší výrazy uzavřít do závorek, aby bylo jasné, co se vyhodnocuje dříve.

  • Přehnaně složité podmínky: když podmínka obsahuje příliš mnoho logických operátorů, kód se hůře čte. V takových případech je lepší rozdělit logiku do více kroků.

  • Očekávání jiného výsledku než true/false: studenti si někdy myslí, že podmínka vrací například číslo. Vždy je to ale jen pravda nebo nepravda.

Shrnutí

  • Relační operátory slouží k porovnávání čísel a textů (>, <, ===, !== …).

  • Logické operátory kombinují podmínky (&& pro A, || pro NEBO).

  • Výsledkem každé podmínky je vždy true nebo false.

  • Pozor na čitelnost: složité podmínky je dobré rozdělit do více kroků nebo použít závorky.

  • Doporučené je používat === a !==, aby nedocházelo k neočekávaným výsledkům.