Оглавление
- Приведение чисел к логическому типу Boolean
- Приведение строк к логическому типу Boolean
- Приведение массивов к логическому типу Boolean
- Приведение объектов к логическому типу Boolean
- Приведение undefined к логическому типу Boolean
- Приведение null к логическому типу Boolean
- Где автоматически срабатывает приведение к логическому типу 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
Boolean('') false Boolean(' ') true Boolean('0') true Boolean('1') true Boolean('sadafdasd') true
Скриншот:
Приведение массивов к логическому типу Boolean
Boolean([]) true Boolean([1]) true Boolean(['q','w']) true Boolean([{}]) true
Скриншот:
Приведение объектов к логическому типу Boolean
Boolean({}) true Boolean({a:1}) true
Скриншот:
Приведение undefined к логическому типу Boolean
Boolean(undefined) false
Скриншот:
Приведение null к логическому типу Boolean
Boolean(null) false
Скриншот:
Где автоматически срабатывает приведение к логическому типу Boolean в JavaScript?
В JavaScript приведение к логическому типу Boolean автоматически работает в ветвлении. Это все конструкции IF с первым блоком передачи параметра, который оформляется круглыми скобками. Внутри блока мы можем сразу записывать выражение, которое должно выдавать true или false.
Например, пусть у нас будет функция:
function f33(my_number){
if(my_number){return 'Число не равно нулю'}
else{return 'Вы точно передали ноль или ничего'}
}
Результат вызова с разными параметрами:
Обратите внимание, как в теле функции мы оформили блок IF — «if(my_number)«. Внутри него просто записан параметр «my_number«, который приводится к логическому типу в момент вызова функции. На первых днях изучения языка JavaScript это не кажется очевидным.
По сути в круглых скобках блока IF должно остаться одно из двух — либо «ДА«, либо «НЕТ«.
Важно знать, что передаваемый объект всегда пытается привестись к логическому типу. В JavaScript всё является объектами, поэтому нужно учитывать разные ситуации с приведением типов.
Когда мы не передали параметр в функцию, тогда по факту в ветвление приходит «undefined«. В блоке IF есть ссылка на ожидаемый объект, но по факту объекта никакого нет. В этом случае «my_number» ссылается на «ничего«.