news 2026/8/18 21:04:18

聊一聊什么是短路运算

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
聊一聊什么是短路运算

摘要:JS 的&&||不只是简单返回 true/false,存在短路运算,并且返回原始值。前端开发中经常使用

一、短路运算前置知识点

  1. 真假转换规则:数字0默认视为false''空字符串、nullundefinedNaN都属于假值,其余大多为真值。
  2. 重要特性:返回原始值&&||不会一定返回布尔 true/false,返回的是表达式本身原始的值,不是单纯布尔结果。
  3. 短路含义:满足条件之后,后面代码不再执行,直接截断。

二、逻辑与&&(找第一个假值)

语法:表达式1 && 表达式2

规则:

  • 如果表达式 1 为假,直接返回表达式 1,表达式 2 不会执行(短路)
  • 如果表达式 1 为真,返回表达式 2
  • 链式连续a && b && c:从左往右找,遇到第一个假直接返回;全部为真,则返回最后一个表达式的值

代码示例

// 左边为真,返回右边的值 console.log(88 && 66); // 66 console.log(10 && 20); // 20 // 左边是假值0,直接返回0,右边66完全不执行 console.log(0 && 66); // 0 // 左边真值,继续看右边,右边是假,返回0 console.log(99 && 0); // 0 // 全部真值,返回最末尾 console.log(10 && 20 && 30); //30

一句话记忆:&&找假,一假就停;全真返回最后一个

三、逻辑或||(找第一个真值)

语法:表达式1 || 表达式2

规则:

  • 如果表达式 1 为真,直接返回表达式 1,表达式 2 不会执行(短路)
  • 如果表达式 1 为假,才返回表达式 2
  • 链式连续a || b || c || d:从左向右,遇到第一个真值立刻返回;全部都是假,返回最右侧最后一个表达式

代码示例

// 第一个值50是真值,直接返回50,后面100不执行,发生短路 console.log(50 || 100); //50 // 第一个0是假,无法短路,返回后面100 console.log(0 || 100); //100 // 两边都是假值,返回后面的空字符串 console.log(0 || ""); // ""

四、&& 和 || 对比速查表

表格

运算符作用短路触发条件链式运算行为
&&逻辑与寻找第一个假值左边表达式为假,直接短路,右边不运行遇假停止;全部为真,返回最末尾值
`` 逻辑或寻找第一个真值左边表达式为真,直接短路,右边不运行遇真停止;全部为假,返回最末尾值

⚠️关键点:二者返回原始表达式的值,不是单纯 true、false。很多初学者误以为运算结果只能是布尔,这是高频踩坑点。

五、短路运算在业务中的实际用途

  1. ||做兜底默认值
// 如果name是假值,就赋值'匿名用户' let name = '' || '匿名用户'; console.log(name); //匿名用户
  1. &&做简单条件判断
// flag为true,才执行后面函数 let flag = true; flag && console.log('条件成立才执行');

注意:ES6 之后有??空值合并运算符,专门处理null/undefined,和||有区别,不要完全混用。

六、踩坑点

  1. 短路:满足条件之后,后面代码完全不会执行,不要写依赖执行的逻辑放在短路后面。
  2. 返回原始值,不是 true/false。88 && 66得到 66,而不是 true。
  3. &&一假即停;||一真即停。
  4. 假值集合:0''NaNnullundefinedfalse,这些在短路判断中当作 false。

短路运算是 JS 基础中非常重要的知识点,不仅面试常考,日常项目中大量简写代码底层都是这套逻辑,一定要理解短路截断和返回原始值这两个核心特性。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/18 21:02:36

元初混沌体系架构 第二卷 第八十一篇 星际组网无中心、自协同、自愈合架构

第八十一篇 星际组网无中心、自协同、自愈合架构 承启前置 时序稳态成型与组网自治升维刚需 前文73–80篇已依次落地星际主干拓扑、周天数理排布、刚柔分层组网、跨域无缝切换、鸿蒙协议重构、星际IP自主编址、多级时延消解全套核心体系,彻底解决星际组网通路割裂…

作者头像 李华
网站建设 2026/8/18 21:00:12

多智能体系统如何防范LLM幻觉传播与错误放大

1. 从“幻觉”到“雪崩”:多智能体系统中的错误传播现象 最近在折腾几个大语言模型(LLM)协同工作的项目时,我遇到了一个比单个模型“胡说八道”更棘手的问题:错误传播。简单来说,就是一个智能体&#xff08…

作者头像 李华
网站建设 2026/8/18 20:59:19

企业级灰度发布技术方案

企业级灰度发布技术方案 1. 方案目标 灰度发布不是简单地把新版本部署到几台服务器,而是让新版本先接收一小部分真实或仿真的请求,在可控范围内观察系统和业务指标,确认稳定后再逐步扩大流量。 对于国际支付系统,发布治理需要同…

作者头像 李华
网站建设 2026/8/18 20:57:13

【Datawhale】领学一夏·ai办公专场

目录Task 1:本地文件管理步骤 1 让 AI 先"看懂"这个文件夹步骤 2 先出整理方案,确认后再执行步骤 3 规范命名步骤 4 10 张发票变一张报销台账步骤 5 合同关键信息卡 到期提醒步骤 6 沉淀你的《文件管理规则模板》疑问Task 2&#xff1a…

作者头像 李华
网站建设 2026/8/18 20:50:04

半导体光刻胶核心材料突破:电子级线性酚醛树脂国产化解析

1. 项目缘起:从“卡脖子”到“破局点” 最近在行业圈子里,一个话题的热度持续攀升,那就是“制芯”技术。这个词听起来有点宏大,但说白了,就是芯片制造过程中那些最基础、最核心的原材料和工艺技术。大家讨论的焦点&…

作者头像 李华