⊗jsPmCdCWB 119 of 505 menu

Porovnávání hodnot s booleovským typem v JavaScriptu

V předchozím příkladu jsme pro porovnání použili operátor ===. V tomto případě se naše proměnná porovnávala na rovnost s true jak podle hodnoty, tak podle typu.

Pro takové porovnání lze použít i operátor ==. Pokud bude v proměnné test vždy jedna z hodnot true nebo false, nic se nezmění:

let test = true; // zde píšeme buď true, nebo false if (test == true) { console.log('+++'); } else { console.log('---'); }

Ale pokud do proměnné test mohou přicházet libovolné hodnoty, vše se stává mnohem složitějším.

V takovém případě, pokud je v proměnné test nebo booleovská hodnota, bude tato hodnota nejprve převedena na booleovskou a teprve poté bude porovnávána.

Předpokládejme například, že v proměnné test bude číslo 1. V tomto případě bude nejprve převedeno na logický typ, tedy na true. A poté bude provedeno porovnání:

let test = 1; if (test == true) { console.log('+++'); // toto se provede } else { console.log('---'); }

Ale například číslo 0 se převede na false. A naše podmínka ve výsledku vypíše 'neplatí':

let test = 0; if (test == true) { console.log('+++'); } else { console.log('---'); // toto se provede }

Takové porovnání lze vlastně explicitně přepsat do následující podoby:

let test = 1; if (Boolean(test) == true) { console.log('+++'); } else { console.log('---'); }

Vzpomeňte si a napište, které hodnoty při převedení na logický typ dávají false.

Bez spuštění kodu určete, co se vypíše do konzole:

let test = 1; if (test == true) { console.log('+++'); } else { console.log('---'); }

Bez spuštění kodu určete, co se vypíše do konzole:

let test = 0; if (test == true) { console.log('+++'); } else { console.log('---'); }

Bez spuštění kodu určete, co se vypíše do konzole:

let test = 1; if (test == false) { console.log('+++'); } else { console.log('---'); }

Bez spuštění kodu určete, co se vypíše do konzole:

let test = 1; if (test != true) { console.log('+++'); } else { console.log('---'); }

Bez spuštění kodu určete, co se vypíše do konzole:

let test = ''; if (test == false) { console.log('+++'); } else { console.log('---'); }

Bez spuštění kodu určete, co se vypíše do konzole:

let test; if (test == true) { console.log('+++'); } else { console.log('---'); }

Bez spuštění kodu určete, co se vypíše do konzole:

let test = 3 * 'a'; if (test == true) { console.log('+++'); } else { console.log('---'); }
Čeština
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Používáme soubory cookie pro fungování webu, analýzu a personalizaci. Zpracování údajů probíhá v souladu s Zásadami ochrany osobních údajů.
přijmout vše přizpůsobit odmítnout