起初,你可能会认为你可以随意替换任何你喜欢的人,对吗?
错误。他们并非你所想的那样。
我们必须一劳永逸地学习这个区别,以避免日后出现痛苦的错误。
这个差别是什么?
这是他们对待真值和假值的令人难以置信的对比。这些是什么?
假值:在 Boolean()
或 if
中变为 false
:
0
undefined
null
NaN
false
'' (空字符串)
Truthy:所有其他的事情:
现在看看创建一个这样的 ||
链时会发生什么:
它会一直进行下去,直到遇到第一个真值!但是关于 ??
链呢?👇
看到明显的区别了吗?
一个寻找 truthy ,另一个寻找任何非空或未定义的东西。
何时使用 ?? 与 ||
在视频游戏中初始化额外生命,其中 0 代表某种含义?
?? 👇
对响应进行分页,其中 0 limit 没有意义?
|| 👇
用户必须有一个名称,所以不能有空格,绝对不能有空字符串?
|| 👇
用户输入的数字无效,还是他们根本就没有输入数字?
用 ??
找出来👇
#### ??
和 ?.
是朋友
总结
??
是一个轻信的孩子,他会相信任何事情。|| 是一名寻找真实无非真实的侦探。