#1 Co je Boolean?
Boolean je datový typ, který slouží k často potřebné věci – mít proměnnou, která bude obsahovat jednu ze dvou možností – pravdu nebo nepravdu (true nebo false), nebo funkce, která vyhodnotí zda je „to“ pravda či nepravda.
Hlavní dvě funkce se dělí následovně – Boolean jako primitivní datový typ a Boolean jako funkce
#2 Boolean jako datový typ
Zřejmě nejpoužívanější typ Booleanu – použití jako primitivní datový typ. Proměná typu Boolean může obsahovat jedno ze dvou klíčových slov – true nebo false, jako pravda nebo nepravda respektive.
let x = true;
let n = false;
Takto definovaná se dá využít v mnoha případech – jedním z nich je například použití Booleanu v podmínce if » pokud je Boolean pravda (platí rovnost nebo přísná rovnost), podmínka se provede, zatímco pokud je nepravda, podmínka se neproběhne.
let x = true;
if (x === true) {
console.log("Pravda");
} else {
console.log("Nepravda");
}
Jelikož může proměnná typu Boolean obsahovat pouze dvě hodnoty, lze jí v podmínkách zapisovat bez rovnosti či přísné rovnosti. Tedy:
let x = true;
if (x) {
console.log("Pravda");
} else {
console.log("Nepravda");
}
#3 Boolean jako funkce
V JavaScriptu existuje také funkce Boolean(), která ověří zda je zadaný výraz nebo proměnná či nepravda.
let x = Boolean(100 < 50);
console.log(x);
V tomto příkladu bude výsledkem false, jelikož funkce Boolean() porovná zda je číslo 100 menší než 50 » není.
Co je pravda a co nepravda
Pomocí funkce Boolean() lze zjistit kdy je daný výraz pravda či nepravda, ale i u tohoto platí nějaké podmínky.
Výraz bude vždy pravda pokud – se jedná o jakékoliv číslo, které není 0 (např. 100, -23…) s čísly za desetinnou čárkou i bez či jakýkoliv string. Všechny tyto výrazy budou mít za výsledek pravdu:
Boolean(100);
Boolean(-23);
Boolean("Ahoj");
Naopak výraz, který bude vždy nepravda je – záporná či kladná nula, nedefinovaná proměnná, prázdný string či proměnná s hodnotou NaN nebo null. Všechny tyto výrazy budou mít za výsledek nepravdu:
Boolean(0);
Boolean(-0);
let x;
Boolean(x);
Boolean("");
let y = null;
Boolean(y);
let z = 40 / "Tutoriál"
Boolean(z); // NaN