Logické operátory: nebo

Druhý logický operátor je ||, který znamená „nebo“. „Pokud je sobota nebo neděle, je víkend“:

const den = "neděle";
if (den === "sobota" || den === "neděle") {
    console.log("Je víkend");
}

Tento kód vypíše:

Je víkend

Podmínka spojená pomocí || je pravdivá, když je pravdivá aspoň jedna z jejích částí. Nepravdivá je, jen když jsou nepravdivé všechny:

  • true || true je true
  • true || false je true
  • false || true je true
  • false || false je false

Častou chybou je zkrátit podmínku tak, jak mluvíme: den === "sobota" || "neděle". JavaScript bere pravou část samostatně: je to jen text "neděle", žádné porovnání. Neprázdný text se počítá jako pravda, a tak je celá podmínka pravdivá vždy, i v pondělí. Každá část potřebuje vlastní porovnání: den === "sobota" || den === "neděle".

&& a || můžete použít v jedné podmínce. Tak jako má násobení přednost před sčítáním, má && přednost před ||. Co k sobě patří, seskupte závorkami, stejně jako v matematice:

const den = "sobota";
const teplota = 15;
if ((den === "sobota" || den === "neděle") && teplota > 20) {
    console.log("Jedeme na výlet");
} else {
    console.log("Zůstaneme doma");
}

Tento kód vypíše:

Zůstaneme doma

Nejdřív se vyhodnotí část v závorkách: je sobota, takže je pravdivá. Jenže teplota > 20 je nepravda a true && false je nepravda. Bez závorek by JavaScript nejdřív spojil den === "neděle" && teplota > 20 a podmínka by byla pravdivá každou sobotu, ať je jakékoli počasí.

Pokyny

Kino dává slevu studentům a lidem od 65 let. Napište příkaz if, který vypíše Sleva, pokud je jeStudent pravda nebo je vek aspoň 65. Použijte ||.

Nové pravidlo: slevy jsou jen ve středu. Na konec podmínky přidejte && den === "středa", část s || dejte do závorek a přidejte větev else, která vypíše Plná cena. Dnes je pondělí, a tak program vypíše Plná cena.

Začněte programovat zdarma

Registrací souhlasíte s provozními podmínkami a zásadami ochrany osobních údajů.

Nebo se registrujte pomocí:

8/11