Js Boolean特殊点

一:布尔可以是对象

通常 JavaScript 布尔是由字面量创建的原始值:

var x = false

但是布尔也可以通过关键词 new 作为对象来定义:

var y = new Boolean(false)

举例:

var x = false;
var y = new Boolean(false);

// typeof x 返回 boolean
// typeof y 返回 object

注意点:

  • 不要创建布尔对象。它会拖慢执行速度。
  • new 关键词会使代码复杂化,并产生某些意想不到的结果

当使用 == 运算符时,相等的布尔是相等的:

var x = false;             
var y = new Boolean(false);

// (x == y) 为 true,因为 x 和 y 拥有相等的值

当使用 === 运算符时,相等的布尔是不相等的,因为 === 运算符需要在类型和值两方面同时相等:

var x = false;             
var y = new Boolean(false);
// (x === y) 为 false,因为 x 和 y 的类型不同

特别注意:

  • 比较两个 JavaScript 对象将始终返回 false。

二:所有不具有“真实”值的即为false

0(零)的布尔值为 false:

var x = 0;
Boolean(x);       // 返回 false

-0 (负零)的布尔值为 false:

var x = -0;
Boolean(x);       // 返回 false

“”(空值)的布尔值为 false:

var x = "";
Boolean(x);       // 返回 false

undefined 的布尔值是 false:

var x;
Boolean(x);       // 返回 false

null 的布尔值是 false:

var x = null;
Boolean(x);       // 返回 false

false 的布尔值(正如您猜到的)是 false:

var x = false;
Boolean(x);       // 返回 false

NaN 的布尔值是 false:

var x = 10 / "H";
Boolean(x);       // 返回 false

三:if else判断简洁写法

之前写法:

if(!foo){
   foo = bar;
}

新颖写法:

foo = foo || bar

foo 为false时把bar赋值给foo

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值