?? 与 || 在 JavaScript 中的微妙差别

科技   2024-10-10 09:08   中国香港  

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

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

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

这个差别是什么?

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

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

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

Truthy:所有其他的事情:

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

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

看到明显的区别了吗?

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

何时使用 ?? 与 ||

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

?? 👇

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

|| 👇

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

|| 👇


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

?? 找出来👇

#### ???. 是朋友

总结

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


最后:
React Hook 深入浅出
CSS技巧与案例详解
vue2与vue3技巧合集
VueUse源码解读

前端宇宙
种一棵树,最好的时间是十年前,其次是现在。
 最新文章