⊗jsPmCdCWB 119 of 505 menu

Сравнение на стойности с булев тип в JavaScript

В предишния пример използвахме за сравнение оператор ===. В този случай нашата променлива се сравняваше за равенство true както по стойност, така и по тип.

За такова сравнение може да се използва и оператор ==. Ако в променливата test винаги ще има една от стойностите true или false, то нищо няма да се промени:

let test = true; // тук пишем или true, или false if (test == true) { console.log('+++'); } else { console.log('---'); }

Но ако в променливата test могат да попадат всякакви стойности, тогава всичко става много по-сложно.

В такъв случай, ако в променливата test има небулева стойност, то тази стойност първо ще бъде преобразувана към булев тип и едва след това ще бъде сравнена.

Нека например в променливата test има число 1. В този случай то първо ще се преобразува към логически тип, тоест към true. И след това ще се извърши сравнението:

let test = 1; if (test == true) { console.log('+++'); // ще се изпълни това } else { console.log('---'); }

Но например числото 0 се преобразува към false. И нашето условие в резултат ще изведе 'невярно':

let test = 0; if (test == true) { console.log('+++'); } else { console.log('---'); // ще се изпълни това }

Всъщност такова сравнение може явно да се пренапише в следния вид:

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

Спомнете си и напишете кои стойности при привеждане към логически тип дават false.

Без да пускате кода, определете какво ще се изведе в конзолата:

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

Без да пускате кода, определете какво ще се изведе в конзолата:

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

Без да пускате кода, определете какво ще се изведе в конзолата:

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

Без да пускате кода, определете какво ще се изведе в конзолата:

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

Без да пускате кода, определете какво ще се изведе в конзолата:

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

Без да пускате кода, определете какво ще се изведе в конзолата:

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

Без да пускате кода, определете какво ще се изведе в конзолата:

let test = 3 * 'a'; if (test == true) { console.log('+++'); } else { console.log('---'); }
Български
AfrikaansAzərbaycanবাংলাБеларускаяČeštinaDanskDeutschΕλληνικά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
Ние използваме бисквитки за работата на сайта, анализ и персонализация. Обработката на данни се извършва в съответствие с Политика за поверителност.
приемам всички настройки отхвърляне