如何比较 javascript 中的字符串,使空等于 null

How to compare string in javascript so that empty equals null

提问人:gt.guybrush 提问时间:2/13/2023 最后编辑:Rohìt Jíndalgt.guybrush 更新时间:2/14/2023 访问量:242

问:

进行此检查的最快代码是什么

只有当两个字符串具有不同的字符时,它们才不同?

因此

null == 未定义 == ''

现在我使用

if(!s1 && !!s2 
||
!!s1 && !s2
||
!!s1 && !!s2 && s1 != s2
)

但并不涵盖所有情况

JavaScript 字符串 比较

评论

0赞 deceze 2/13/2023
(!s1 && !s2) || s1 === s2...?

答:

2赞 Barmar 2/13/2023 #1
(s1 || '') == (s2 || '')

||将任何 falsey 值转换为空字符串。

只要保证变量包含字符串 、 或 。如果它可以有一个数字,也会被转换为一个空字符串,所以是真的。nullundefined00 == ''

数字字符串是字符串,因此这仍然适用于它们。

评论

0赞 gt.guybrush 2/13/2023
可悲的是,是的,可以有数字
0赞 Barmar 2/13/2023
为什么问题说比较字符串?
0赞 gt.guybrush 2/13/2023
我有字符串来获取用户文本框,因此用户可以写 0,但我将其作为字符串进行管理,因此标题
2赞 Barmar 2/13/2023
这不是一个数字,而是一个字符串。 不被视为虚假。||"0"