DeepSeep 小课堂:&&、||、?? 的‘爱恨情仇’,看完直呼内行!

&&(逻辑与)------ "霸道总裁型"

场景:你的朋友求你帮忙修Bug,但你只有吃饱了才有力气

js 复制代码
const isFull = true; 
isFull && fixBug(); // 吃飽了 → 修Bug!

isFull = false;
isFull && fixBug(); // 没吃饱 → 摆烂!

||(逻辑或)------ "备胎救场型"

场景:你约了朋友吃饭,但对方放鸽子,于是你找备胎

js 复制代码
const date = null; // 朋友鸽了你
const backupFriend = '单身狗室友';

const dinnerPartner = date || backupFriend; 
console.log(dinnerPartner); // '单身狗室友'

||(逻辑或):左边的值为假(falsy),则返回右边的值;左边为真(truthy)返回左边的值。

falsy的值共6个

描述
false --
0 数字零
"" 空字符串
null --
undefined --
NaN 非数字

其他所有值都是真值(truthy)包括

描述
true --
非零数字 如 1、-1
非空字符串 --
对象 如 "hello"
函数 如 {}、[]

* &&||的区别**

  • 逻辑与 && :左边为真值时返回右边。
  • 逻辑或 || :左边为假值时返回右边。

实战1 : 请盖住右面联系哦

js 复制代码
console.log(0 || 1);                        // 1(左边为假值,返回右边)
console.log(0 && 1);                        // 0(左边为假值,返回左边)
console.log(1 || 2);                        // 1(左边为真值,返回左边)
console.log(1 && 2);                        // 2(左边为真值,返回右边)
console.log(0 && '你好');                   // 输出 0(左边为假,直接返回左边)
console.log('A' && null);                   // 输出 null(左边为真,返回右边)

实战2:短路求值

左边为真值,右边的表达式不会被执行。

js 复制代码
function foo() {
  console.log("foo 被调用了");
  return true;
}

function bar() {
  console.log("bar 被调用了");
  return false;
}

console.log(foo() || bar());


// 输出:
// foo 被调用了
// true
// bar 不会被调用,因为 foo() 返回 true

??(空值合并)------ "精准识别型"

口诀:"除了真空,其他免谈"(只认 null/undefined)

示例如下:

js 复制代码
// 女朋友问你前任照片在哪,只有真没存才安全
const exPhoto = undefined; 
const safeAnswer = '心里只有你!';

const result = exPhoto ?? safeAnswer; 
console.log(result); // '心里只有你!' ✅

// 对比 || 的翻车现场
const exPhoto = 0; // 前任照片数量是0张
console.log(exPhoto || safeAnswer); // '心里只有你!' 😱(明明删光了!)
console.log(exPhoto ?? safeAnswer); // 0 ✅(诚实但安全)

总结记忆法

&&:像 "安检门",前面的人(左边)过了,才允许后面(右边)通过→ 条件成立 && 执行操作

||:像 "备胎列表",第一个可用的直接上位→ 优先值 || 默认值

??:像 "非空检测仪",只对 null/undefined 敏感→ 精准处理真空值

相关推荐
2501_940041749 分钟前
前端工程化进阶:5个高交互与可视化项目提示词
前端
你很易烊千玺10 分钟前
JS 异步 从零讲(大白话 + 真实场景 + 可运行案例)
前端·javascript·vue.js
华洛2 小时前
讲讲如何在传统产品中挖掘AI需求
javascript·产品经理·产品
why技术2 小时前
AI Coding开始进入第四个时代,我还没上车呢!
前端·人工智能·后端
大家的林语冰3 小时前
CSS 已死?DOM 性能黑洞!Pretext 排版革命让你在文本间跳舞,没有 DOM 也能纵享丝滑~
前端·javascript·css
vipbic3 小时前
我也该升级了,陪伴了我7年的博客
前端
Lee川3 小时前
RAG 实战:从一篇掘金文章出发,拆解检索增强生成的全链路
前端·人工智能·后端
Lee川4 小时前
MCP 高德地图实战:当 AI 学会使用工具,一个协议如何重塑大模型的行动边界
前端·人工智能·后端
ZC跨境爬虫4 小时前
跟着 MDN 学CSS day_14:(尺寸调整技能测试与实战解析)
前端·css·ui·html·tensorflow
kyriewen4 小时前
用魔法打败魔法:我让AI替我去面试前端岗,AI面试官给我打了92分,还发了offer
前端·javascript·面试