image.png

起初,你可能会认为你可以随意替换任何你喜欢的人,对吗?

image.png

错误。他们并非你所想的那样。

我们必须一劳永逸地学习这个区别,以避免日后出现痛苦的错误。

这个差别是什么?

这是他们对待真值和假值的令人难以置信的对比。这些是什么?

假值:在 Boolean()if 中变为 false

image.png

  • 0
  • undefined
  • null
  • NaN
  • false
  • '' (空字符串)

Truthy:所有其他的事情:

image.png

现在看看创建一个这样的 || 链时会发生什么:

image.png

它会一直进行下去,直到遇到第一个真值!但是关于 ?? 链呢?👇

image.png

看到明显的区别了吗?

一个寻找 truthy ,另一个寻找任何非空或未定义的东西。

何时使用 ?? 与 ||

在视频游戏中初始化额外生命,其中 0 代表某种含义?

?? 👇

image.png

对响应进行分页,其中 0 limit 没有意义?

|| 👇

image.png

用户必须有一个名称,所以不能有空格,绝对不能有空字符串?

|| 👇

image.png

用户输入的数字无效,还是他们根本就没有输入数字?

?? 找出来👇

image.png

???. 是朋友

image.png

总结

?? 是一个轻信的孩子,他会相信任何事情。|| 是一名寻找真实无非真实的侦探。

首发于公众号 大迁世界,欢迎关注。📝 每周一篇实用的前端文章 🛠️ 分享值得关注的开发工具 ❓ 有疑问?我来回答

本文 GitHub https://github.com/qq449245884/xiaozhi 已收录,有一线大厂面试完整考点、资料以及我的系列文章。


王大冶
68k 声望104.9k 粉丝