⊗jsPmCdCWB 119 of 505 menu

Porównywanie wartości z typem boolean w JavaScript

W poprzednim przykładzie użyliśmy do porównania operatora ===. W tym przypadku nasza zmienna była porównywana pod kątem równości true zarówno pod względem wartości, jak i typu.

Do takiego porównania można również użyć operatora ==. Jeśli w zmiennej test zawsze będzie jedna z wartości true lub false, to nic się nie zmieni:

let test = true; // tu piszemy albo true, albo false if (test == true) { console.log('+++'); } else { console.log('---'); }

A jeśli do zmiennej test mogą trafiać dowolne wartości, wszystko staje się dużo bardziej skomplikowane.

W takim przypadku, jeśli w zmiennej test znajduje się wartość niebędąca typem boolean, to wartość ta najpierw zostanie przekształcona na typ boolean i dopiero następnie będzie porównywana.

Załóżmy na przykład, że w zmiennej test znajduje się liczba 1. W tym przypadku najpierw zostanie ona przekształcona na typ logiczny, czyli na true. A następnie zostanie wykonane porównanie:

let test = 1; if (test == true) { console.log('+++'); // to się wykona } else { console.log('---'); }

A na przykład liczba 0 przekształca się na false. I nasz warunek w rezultacie wypisze 'nieprawidłowo':

let test = 0; if (test == true) { console.log('+++'); } else { console.log('---'); // to się wykona }

W zasadzie takie porównanie można wyraźnie przepisać w następującej formie:

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

Przypomnijcie sobie i napiszcie, jakie wartości przy przekształcaniu na typ logiczny dają false.

Bez uruchamiania kodu określ, co zostanie wypisane w konsoli:

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

Bez uruchamiania kodu określ, co zostanie wypisane w konsoli:

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

Bez uruchamiania kodu określ, co zostanie wypisane w konsoli:

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

Bez uruchamiania kodu określ, co zostanie wypisane w konsoli:

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

Bez uruchamiania kodu określ, co zostanie wypisane w konsoli:

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

Bez uruchamiania kodu określ, co zostanie wypisane w konsoli:

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

Bez uruchamiania kodu określ, co zostanie wypisane w konsoli:

let test = 3 * 'a'; if (test == true) { console.log('+++'); } else { console.log('---'); }
Polski
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Wykorzystujemy pliki cookie do działania strony, analizy i personalizacji. Przetwarzanie danych odbywa się zgodnie z Polityką prywatności.
zaakceptuj wszystkie dostosuj odrzuć