网站首页 > 技术文章 正文
起初,你可能会认为你可以随意替换任何你喜欢的人,对吗?
错误。他们并非你所想的那样。
我们必须一劳永逸地学习这个区别,以避免日后出现痛苦的错误。
这个差别是什么?
这是他们对待真值和假值的令人难以置信的对比。这些是什么?
假值:在 Boolean() 或 if 中变为 false :
- 0
- undefined
- null
- NaN
- false
- '' (空字符串)
Truthy:所有其他的事情:
现在看看创建一个这样的 || 链时会发生什么:
它会一直进行下去,直到遇到第一个真值!但是关于 ?? 链呢?
看到明显的区别了吗?
一个寻找 truthy ,另一个寻找任何非空或未定义的东西。
何时使用 ?? 与 ||
在视频游戏中初始化额外生命,其中 0 代表某种含义?
??
对响应进行分页,其中 0 limit 没有意义?
||
用户必须有一个名称,所以不能有空格,绝对不能有空字符串?
||
用户输入的数字无效,还是他们根本就没有输入数字?
用 ?? 找出来
#### ?? 和 ?. 是朋友
总结
?? 是一个轻信的孩子,他会相信任何事情。|| 是一名寻找真实无非真实的侦探。
猜你喜欢
- 2024-10-16 JS中(a==1 && a==2 && a==3)可以在JavaScript中计算为“true”吗?
- 2024-10-16 JavaScript 的这个难点,毁掉了多少程序员
- 2024-10-16 前端开发之彻底搞懂this指向(前端this指向问题)
- 2024-10-16 JavaScript中的变量声明和作用域(一)
- 2024-10-16 Top 26 JavaScript面试问题和答案
- 2024-10-16 JS 经典实例知识点整理汇总【实践】
- 2024-10-16 苦恼于JavaScript中的reduce函数?五分钟讲透彻
- 2024-10-16 前端基础:JavaScript(前端基础题)
- 2024-10-16 一句话彻底理解JS中的回调(Callback)函数
- 2024-10-16 面试中被问到最多的 19 个 JavaScript 问题
- 最近发表
- 标签列表
-
- cmd/c (57)
- c++中::是什么意思 (57)
- sqlset (59)
- ps可以打开pdf格式吗 (58)
- phprequire_once (61)
- localstorage.removeitem (74)
- routermode (59)
- vector线程安全吗 (70)
- & (66)
- java (73)
- org.redisson (64)
- log.warn (60)
- cannotinstantiatethetype (62)
- js数组插入 (83)
- resttemplateokhttp (59)
- gormwherein (64)
- linux删除一个文件夹 (65)
- mac安装java (72)
- reader.onload (61)
- outofmemoryerror是什么意思 (64)
- flask文件上传 (63)
- eacces (67)
- 查看mysql是否启动 (70)
- java是值传递还是引用传递 (58)
- 无效的列索引 (74)