JavaScript布尔运算符原理与短路机制解析

作者:代码拾荒

时间:2026-10-23

浏览:640

本文深入解析JavaScript中的四种布尔运算符:取反(!)、与(&&)、或(||)及三元运算符。重点阐述取反运算对六个假值的处理及双重取反的布尔转换作用,详解与或运算符的短路求值规则及其在默认值设置中的应用,帮助开发者准确掌握JS逻辑运算底层机制。

文章目录

JavaScript布尔运算符概述

在JavaScript中,布尔运算主要包含四种类型:

  • 逻辑非运算符(!)
  • 逻辑与运算符(&&)
  • 逻辑或运算符(||)
  • 条件(三元)运算符(? 表达式1 : 表达式2)

逻辑非运算符原理

逻辑非运算符(!)

该运算符的作用是将任意类型的值先转换为布尔值,然后返回其相反的逻辑状态,即原本为true的值变为false,原本为false的值变为true。

当对以下六个特定值执行取反操作时,结果为false,而对其他所有值取反均返回true:

  • undefined
  • null
  • ''
  • false
  • 0
  • NaN

若对一个值连续执行两次取反操作,其效果等同于调用Boolean()函数将其转换为布尔类型。

例如,!!1 的执行结果等同于 Boolean('1')。

逻辑与运算符与短路机制

逻辑与运算符(&&)

该运算符用于连接多个表达式,语法结构为:表达式1 && 表达式2。

其运算逻辑遵循短路规则:若第一个运算子的布尔值为true,则返回第二个运算子的实际值(而非布尔值);若第一个运算子的布尔值为false,则直接返回第一个运算子的值,且不再对第二个运算子进行求值。

// 'a'转换为boolean为true,所以直接返回第二个运算子'' 'a' && ''

// ''转换为boolean为false,所以直接返回第一个运算子 '' '' && 'a'

逻辑或运算符与默认值设置

逻辑或运算符(||)

该运算符同样用于处理多个表达式的组合。

其运算规则为:若第一个运算子的布尔值为true,则直接返回第一个运算子的值;若第一个运算子的布尔值为false,则返回第二个运算子的值。

// ''的布尔值为false,所以这里返回'b' '' || 'b' // 'b'的布尔值为true,所以这里返回'b' 'b' || ''

逻辑或运算符常用于为变量设置默认值。

条件(三元)运算符

条件(三元)运算符

语法格式为:表达式1 ? 表达式2 : 表达式3。

若表达式1的布尔值为true,则返回表达式2的值;若表达式1的布尔值为false,则返回表达式3的值。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持本站。

实用工具推荐

电子包浆

绿化、压缩、噪点和虚拟水印,自由调节做旧程度。

使用 ›
图片压缩

选择画质和输出格式,预览压缩前后的大小。

使用 ›
相关文章