![]() |
1
4250
如果你只是想看看是否有 truthy value ,你可以:
如果您需要专门检查null上的空字符串,我会考虑根据
|
![]() |
2
1316
falsey 或者,如果它的length属性等于零(对于字符串,这意味着它是空的),我使用:
(请注意,字符串不是唯一具有
为了检查变量是否为false或字符串是否仅包含空格或为空,我使用:
如果你愿意,你可以
monkey-patch
这个
请注意,猴子修补内置类型是有争议的,因为无论出于何种原因,它都可能破坏依赖于现有内置类型结构的代码。 |
![]() |
3
448
或使用类型转换:
两者的功能相同。将变量类型转换为布尔值,其中
|
![]() |
4
125
你能找到的最接近的东西
|
![]() |
5
111
如果您需要确保字符串不仅仅是一堆空的空格(我假设这是为了表单验证),那么您需要对空格进行替换。
|
![]() |
6
70
|
![]() |
7
55
你可以用 lodash : _.isEmpty(值)。
|
![]() |
8
53
表演macOS v10.13.6 (High Sierra)针对18种选定的解决方案。解决方案的工作原理稍有不同(对于角落案例输入数据),如下面的代码片段所示。
细节
然后对所有方法执行速度测试用例
|
![]() |
9
42
非常通用的“一体式”功能( 但不推荐
但是,我不建议使用它,因为您的目标变量应该是特定类型(即字符串、数字或对象?),所以应用与该变量相关的检查。 |
![]() |
10
38
JavaScript中没有表示空字符串的内容。对其中一个进行检查
|
![]() |
11
37
|
![]() |
12
31
我不会太担心
有效率的
方法使用你最清楚的意图。对我来说这通常是
Constantin ,如果strVar可能最终包含一个0整数值,那么这确实是一种澄清意图的情况。 |
![]() |
13
21
您也可以使用正则表达式:
检查字符串是否为空或用空格填充。 |
![]() |
14
21
毫无疑问,对于快速简单的实施,赢家是:
我知道有点过分。 |
![]() |
15
20
|
![]() |
16
17
可以使用以下正则表达式对其进行测试:
|
![]() |
17
17
我通常用这样的东西,
|
![]() |
18
13
|
![]() |
19
13
首先是:
是0。因此,放下它:
和undefined为true,因此不需要检查。因此,我们:
我们不需要括号:
|
![]() |
20
13
我使用组合,最快的检查是第一。
|
![]() |
21
11
我没有注意到有一个答案考虑到字符串中可能存在空字符。例如,如果我们有一个空字符串:
要测试其空值,可以执行以下操作:
它适用于空字符串和空字符串,并且可用于所有字符串。此外,它还可以扩展为包含其他JavaScript空字符或空白字符(即不间断空格、字节顺序标记、行/段分隔符等)。 |
![]() |
22
11
. 所以我写了这个。
用例和结果。
|
![]() |
23
11
使用此选项还可以确保字符串不是未定义的或也不是空的。记住,undefined、null和empty是三个不同的东西。 |
![]() |
24
11
我在这里没有看到一个好的答案(至少不是一个适合我的答案) 所以我决定回答自己:
您需要开始检查它是否未定义。否则,您的方法可能会爆炸,然后您可以检查它是否等于null或等于空字符串。
你不可能有!!或者仅仅
附言: 你不需要检查类型 ,因为它甚至在进入方法之前就会爆炸并抛出 |
![]() |
25
10
所有这些答案都很好。 但我不能确定变量是否是字符串,是否只包含空格(这对我很重要),是否可以包含“0”(字符串)。 我的版本:
jsfiddle . |
![]() |
26
10
我做了一些研究,研究了如果将非字符串和非空/空值传递给tester函数会发生什么。正如许多人所知,(0==“”)在JavaScript中是正确的,但由于0是一个值,并且不是空的或null,您可能需要测试它。 以下两个函数仅对未定义、null、空/空白值返回true,对其他所有值(如数字、布尔值、对象、表达式等)返回false。
存在更复杂的例子,但这些例子很简单,并且给出了一致的结果。不需要测试未定义,因为它包含在(value==null)检查中。你也可以模仿 C#
您不希望将其放入Strings原型中,因为如果String类的实例为null,则会出现以下错误:
我使用以下值数组进行了测试。如果有疑问,可以循环测试函数。
|
![]() |
27
10
要检查它是否完全是空字符串,请执行以下操作:
|
![]() |
28
10
使用空合并运算符修剪空白:
|
![]() |
29
10
如果只是简单地检查空字符串
如果您还想包括null&你的支票没有定义
|
![]() |
30
9
需要进行类型检查,以避免出现运行时错误
|
![]() |
Jasper · Swift 4认为数组不是空的 7 年前 |
![]() |
Agaz Wani · 为什么空数据帧在is.null()测试中失败? 10 年前 |
![]() |
MoralesJosue · 检查数组C中的空字符# 10 年前 |
![]() |
Skywolf · 将声纳升级至3.7.2 11 年前 |