boolean相关

本文深入讲解了JavaScript中布尔值的基本概念及其应用场景,包括条件判断、惰性求值等,并介绍了如何利用布尔值进行高效编程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

async github

What

布尔值,JavaScript 基本数据类型之一。

JavaScript 基本数据类型:

  • number 数字

  • string 字符串

  • boolean 布尔值

  • undefined

  • null

  • symbols

  • object

值有两个:true 、 false

Tips

条件判断

最多用的是在条件判断(if, ? :, while 等),对非布尔值,解释引擎会先进行隐式转换为布尔值。

对于大部分值在转换为布尔值时都是 true, 以下 falsy 值被转为false :

  • 空串 ""

  • null

  • undefined

  • 数字 0

  • 数字 NaN

  • 布尔值 false

这些值通常由某些操作返回,如:

  • 逻辑类操作, !&&||

  • 比较类操作,===!=> and so on

  • 可以转换为布尔类型的值或变量

常用小技巧:

  • !!
    !! 转成 boolean

let stringTest = 'this is a string';

true === !!stringTest // true

一些容易出错的点

null == undefined   // true

null === undefined  // false

NaN == NaN  // false

惰性求值

有两个小技巧:

  • ||

let stringTest = 'this is a test';

// 已经定义, 保留原有值
let testA = stringTest || 'default';

testA   // 'this is a test'
  • &&

let objectTest = {a1: {a2: 'a2'}};

const a2 = objectTest.a1 && objectTest.a1.a2 || 'default';

a2  // 'a2'

在使用上面方式进行赋值或者条件判断时,务必要考虑 falsy 的情况。如下面的代码可能会成为一个隐患

const warningNumber = 0;

// 数字 0 被当成了 false 处理
const notWant = warningNumber || 10;

notWant;    // 10
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值