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íkendPodmínka spojená pomocí || je pravdivá, když je pravdivá aspoň jedna z jejích částí. Nepravdivá je, jen když jsou nepravdivé všechny:
true || truejetruetrue || falsejetruefalse || truejetruefalse || falsejefalse
Č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 domaNejdří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í.
Jak psát:
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
8/11