Podmínky v JavaScriptu


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átorPopisPří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 rovnoa >= b
<=Menší nebo rovnoa <= 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");
}

, ,