提问人:gt.guybrush 提问时间:2/13/2023 最后编辑:Rohìt Jíndalgt.guybrush 更新时间:2/14/2023 访问量:242
如何比较 javascript 中的字符串,使空等于 null
How to compare string in javascript so that empty equals null
问:
进行此检查的最快代码是什么:
只有当两个字符串具有不同的字符时,它们才不同?
因此
null == 未定义 == ''
现在我使用
if(!s1 && !!s2
||
!!s1 && !s2
||
!!s1 && !!s2 && s1 != s2
)
但并不涵盖所有情况
答:
2赞
Barmar
2/13/2023
#1
(s1 || '') == (s2 || '')
||
将任何 falsey 值转换为空字符串。
只要保证变量包含字符串 、 或 。如果它可以有一个数字,也会被转换为一个空字符串,所以是真的。null
undefined
0
0 == ''
数字字符串是字符串,因此这仍然适用于它们。
评论
0赞
gt.guybrush
2/13/2023
可悲的是,是的,可以有数字
0赞
Barmar
2/13/2023
为什么问题说比较字符串?
0赞
gt.guybrush
2/13/2023
我有字符串来获取用户文本框,因此用户可以写 0,但我将其作为字符串进行管理,因此标题
2赞
Barmar
2/13/2023
这不是一个数字,而是一个字符串。 不被视为虚假。||
"0"
评论
(!s1 && !s2) || s1 === s2
...?