JavaScript | Приведение к логическому типу Boolean

JavaScript | Приведение к логическому типу Boolean

Оглавление

 

Приведение чисел к логическому типу Boolean

Boolean(0)
false

Boolean(1)
true

Boolean(-1)
true

Boolean(2.17)
true

Boolean(-2.17)
true

Boolean(Infinity)
true

Boolean(-Infinity)
true

Boolean(NaN)
false

Скриншот:

Привели разные числа к логическому типу Boolean в JavaScript
Привели разные числа к логическому типу Boolean в JavaScript

 

Приведение строк к логическому типу Boolean

Boolean('')
false

Boolean(' ')
true

Boolean('0')
true

Boolean('1')
true

Boolean('sadafdasd')
true

Скриншот:

Привели разные строки к логическому типу Boolean в JavaScript
Привели разные строки к логическому типу Boolean в JavaScript

 

Приведение массивов к логическому типу Boolean

Boolean([])
true

Boolean([1])
true

Boolean(['q','w'])
true

Boolean([{}])
true

Скриншот:

Привели разные массивы к логическому типу Boolean в JavaScript
Привели разные массивы к логическому типу Boolean в JavaScript

 

Приведение объектов к логическому типу Boolean

Boolean({})
true

Boolean({a:1})
true

Скриншот:

Привели разные объекты к логическому типу Boolean в JavaScript
Привели разные объекты к логическому типу Boolean в JavaScript

 

Приведение undefined к логическому типу Boolean

Boolean(undefined)
false

Скриншот:

Привели undefined к логическому типу Boolean в JavaScript
Привели undefined к логическому типу Boolean в JavaScript

 

Приведение null к логическому типу Boolean

Boolean(null)
false

Скриншот:

Привели null к логическому типу Boolean в JavaScript
Привели null к логическому типу Boolean в JavaScript

 

Где автоматически срабатывает приведение к логическому типу Boolean в JavaScript?

В JavaScript приведение к логическому типу Boolean автоматически работает в ветвлении. Это все конструкции IF с первым блоком передачи параметра, который оформляется круглыми скобками. Внутри блока мы можем сразу записывать выражение, которое должно выдавать true или false.

Например, пусть у нас будет функция:

function f33(my_number){
   if(my_number){return 'Число не равно нулю'}
   else{return 'Вы точно передали ноль или ничего'}
}

Результат вызова с разными параметрами:

Функция с ветвлением в теле с неяным приведением типа в блоке if в JavaScript
Функция с ветвлением в теле с неяным приведением типа в блоке if в JavaScript

Обратите внимание, как в теле функции мы оформили блок IF — «if(my_number)«. Внутри него просто записан параметр «my_number«, который приводится к логическому типу в момент вызова функции. На первых днях изучения языка JavaScript это не кажется очевидным.

По сути в круглых скобках блока IF должно остаться одно из двух — либо «ДА«, либо «НЕТ«.

Важно знать, что передаваемый объект всегда пытается привестись к логическому типу. В JavaScript всё является объектами, поэтому нужно учитывать разные ситуации с приведением типов.

Когда мы не передали параметр в функцию, тогда по факту в ветвление приходит «undefined«. В блоке IF есть ссылка на ожидаемый объект, но по факту объекта никакого нет. В этом случае «my_number» ссылается на «ничего«.