Podmínka = podmínění příkaz
- podmínka označuje programovou kostrukci, která umožňuje vykonat určitou část programu jen na základě vyhodnocení určitého logického výrazu (nejčastěji porovnávání hodnoty dvou výrazů)
- zjednodušeně: pokud je splněna podmínka, vykoná se specifický blok kódu. Pokud podmínka splněna není, blok kódu se přeskočí.
- podmínky nám také umožňují
- Větvení programu: Rozhodnout, který blok kódu se vykoná.
- Kontrolu toku programu: Ovládat děj programu a určit jeho další vývoj.
Typy podmínek:
Jednoduchá podmínka (neúplný podmíněný příkaz)
- obsahuje pouze jednu větev. Pokud podmínka není splněna, nic se nevykoná.
- Můžeme ji popsat jako jestliže
if(podmínka){
// kód, který se vykoná, pokud je podmínka splněna
}
Použití: Tento typ podmínky je vhodný pro situace, kdy nás zajímá pouze případ splnění podmínky.
Podmínka s alternativou (úplný podmíněný příkaz)
- vždy se něco vykoná, ať už je podmínka splněna, nebo ne.
- buď a nebo
if (podminka) {
// kód, který se vykoná, pokud je podmínka splněna
} else {
// kód, který se vykoná, pokud podmínka splněna není
}
Použití: Vhodné pro situace, kdy chceme ošetřit dva vzájemně vylučující případy (například „buď a nebo“).
Vnořená podmínka
- nachází se uvnitř existující podmínky
- tento typ podmínky je vhodný, pokud potřebujeme, aby bylo splněno více podmínek současně
- vnořená podmínka se vykoná jen pokud je vnější podmínka splněná
if (podminka) {
if (vnorenaPodminka) {
// kód, který se vykoná, pokud jsou splněny obě podmínky
}
}
Použití: Typické například při kontrolách více podmínek, kde druhá podmínka dává smysl pouze tehdy, pokud je splněna ta první.
Operátory v podmínkách
- porovnávají hodnoty proměnných
- mohou porovnávat buď proměnnou s hodnotou, nebo dvě proměnné mezi sebou
Jednoduché porovnávání:
Porovnáváme hodnotu levé strany s pravou.
| Operátor | Popis | Příklad |
|---|---|---|
== | Rovná se vykoná se jen pokud je hodnota a a b stejná | a == b |
!= | Nerovná se vykoná se v případě jakékoliv jiné hodnoty a než té, která je b | a != b |
> | Větší než | a > b |
< | Menší než | a < b |
>= | Větší nebo rovno | a >= b |
<= | Menší nebo rovno | a <= b |
Pozor: Pro přísné porovnávání typu a hodnoty používejte === (rovná se) a !== (nerovná se).
Operátory pro porovnávání dvou a více proměnných
&& a současně – musí platit obě podmínky najednou
if( (podminka1==hodnota1) && (podminka2==hodnota) ){
}
|| nebo – buď platí jedna podmínka nebo druhá. Stačí aby platila jen jedna z nich.
if( (podminka1==hodnota1) || (podminka2==hodnota) ){
}
Switch (přepínač)
Pro více možných hodnot můžete použít konstrukci switch.
Switch dokáže porovnávat konkrétní hodnoty, nedokáže porovnávat rozsah (větší než, menší než)
switch (vyraz) {
case hodnota1:
// kód
break;
case hodnota2:
// kód
break;
default:
// kód
}
Příklad:
let den = 3;
switch (den) {
case 1:
console.log("Pondělí");
break;
case 2:
console.log("Úterý");
break;
default:
console.log("Jiný den");
}