我是靠谱客的博主 阔达大叔,最近开发中收集的这篇文章主要介绍JS布尔值(Boolean)转换规则,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

语法

众所周知, JavaScript有五个基本的值类型:number、string、boolean、null和undefined。除了null和undefined以外,其他三个具有所谓的基本包装对象。可以使用内置构造函数Number()、String()、Boolean()创建包装对象。

boolean是JS的6种数据类型(number,string,object,boolean,null,undefined)之一,有且只有两种值:true和false

1.使用Boolean(value)方法可以强制转换任意值为boolean类型,除了以下六个值,其他都是自动转为true:

  • undefined
  • null
  • -0
  • +0
  • NaN
  • ‘’(空字符串)
Boolean(undefined) // false
Boolean(null) // false
Boolean(0) // false
Boolean(NaN) // false
Boolean('') // false

2.对象的转换规则

所有对象的布尔值都是true,甚至连false对应的布尔对象也是true。

请注意,空对象{}和空数组[]也会被转成true。

Boolean(new Boolean(false))// Boolean对象会转成true
Boolean([]) // 空数组会转成true
Boolean({}) // 空对象会转成true

3.其中有一些让人困惑的地方

&& 表达式从第一个开始,遇到值为false的表达式,则返回表达式本身,否则返回最后一个表达式

|| 和 ! 逻辑运算符原理类似

var obj = new Boolean(false);
console.log(obj && true);//true
console.log(true && obj);//false

因此,第二个console实际上打印的是obj对象的值,即false

------------------------------------------------------------------------------

补充:number类型除了0对应false外,其他都对应true

 

最后

以上就是阔达大叔为你收集整理的JS布尔值(Boolean)转换规则的全部内容,希望文章能够帮你解决JS布尔值(Boolean)转换规则所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(27)

评论列表共有 0 条评论

立即
投稿
返回
顶部