Boolean类型(基本与包装类型)

前面的话

当 Number、String、Boolean使用new操作符时,它们就不仅仅是基本类型了,变成了基本的包装类型,即引用类型。Boolean类型应该算是这三种类型中最简单的类型,这篇文章将介绍Boolean类型。

定义

Boolean类型只有两个字面量值:true、false。这两个值与数字值不是一回事,所以,true不一定等于1,false不一定等于0.

Boolean包装类型是与布尔值对应的引用类型。

    var b1 = true;
    var b2 = new Boolean(true);
    console.log(b1, typeof b1); // true "boolean"
    console.log(b2, typeof b2); // Boolean  "object"

在这里插入图片描述

应用场景
  • 条件与循环语句:
   var message = "hello world";
        if(message) {
            alert('Value is true');
        }

上面的示例中,会弹出一个警告框。因为在if语句中的message自动转为了对应的Boolean值true。

  • 布尔操作符

逻辑操作符也叫布尔操作符,共有三种:与(&&)、或(||)、非(!)。

逻辑非操作符:首先会将它的操作数换为布尔值,再对其求反。最终得到的是操作数对应相反的布尔值。

而同时使用两个逻辑非操作符(!!),将操作数转为对象的布尔值。

		console.log(!!"true");
        console.log(!! 0);
        console.log(!! NaN);
        console.log(!! "");
        console.log(!! " ");

在这里插入图片描述

  • 关系运算符

小于(<)、小于等于(<=)、大于(>)、大于等于(>=)这几个关系操作符用于对两个值进行比较。最终返回 一个布尔值。

  		var result1 = 5 > 3;
        var result2 = 5 < 3;
        console.log(result1, typeof result1);
        console.log(result2, typeof result2);

在这里插入图片描述

转型函数Boolean()

对任何数据类型的值调用Boolean()函数,总会返回一个Boolean值。

假值:

转换为false的值称为假值。包括这7个

  • false
    + null
    + undefined
    + NaN
    • “”
+ 0
 + -0
 		console.log(Boolean(false)); 
        console.log(Boolean(undefined)); 
        console.log(Boolean(null)); 
        console.log(Boolean(NaN)); 
        console.log(Boolean('')); 
        console.log(Boolean(0)); 
        console.log(Boolean(-0)); 

在这里插入图片描述
[注意] :在Number()方法中空字符串与空白字符串都转为0,而在Boolean方法中,空字符串转为false,而空白字符串转为true


    console.log(Number(''));// 0
    console.log(Number(' '));// 0

    console.log(Boolean(''));// false
    console.log(Boolean(' '))// true

除了上述这7个假值以外,其他的值都转为true。包括空对象{}、空数组[]等。

实例方法

Boolean类型的实例重写了Object对象的通用方法toString()、toLocaleString()、toValue()这三个方法。

[toString()]

toString()方法返回Boolean的字符串(‘true’或’false’)

[toLocaleString()]

toLocaleString()方法返回Boolean的字符串(‘true’或’false’)

[valueOf()]

valueOf()方法返回原始的布尔值(true或false)

    var result = new Boolean(false);
    console.log(result.toString());// "false"
    console.log(result.toLocaleString());// "false"
    console.log(result.valueOf());// false

[注意]:理解基本类型的布尔值与Boolean对象之间的区别非常重要 —— 但建议永远也不要使用Boolean对象

  • 2
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值