我看到了这个问题,但我没有看到 JavaScript 特定的例子。string.Empty
JavaScript 中是否有简单的可用,或者只是检查的情况""
?
如何在 JavaScript 中检查空/未定义/空字符串?
IT技术
javascript
null
is-empty
2021-01-30 06:36:43
6个回答
为了检查变量是否为假或者它的长度属性是否为零(对于字符串,这意味着它是空的),我使用:
function isEmpty(str) {
return (!str || str.length === 0 );
}
(请注意,字符串并不是唯一具有length
属性的变量,例如,数组也有它们。)
为了检查变量是否为假或者字符串是否仅包含空格或为空,我使用:
function isBlank(str) {
return (!str || /^\s*$/.test(str));
}
如果你愿意,你可以猴子打补丁的String
原型是这样的:
String.prototype.isEmpty = function() {
// This doesn't work the same way as the isEmpty function used
// in the first example, it will return true for strings containing only whitespace
return (this.length === 0 || !this.trim());
};
console.log("example".isEmpty());
请注意,猴子修补内置类型是有争议的,因为无论出于何种原因,它都会破坏依赖于内置类型现有结构的代码。
以前的所有答案都很好,但这会更好。使用双非运算符 ( !!
):
if (!!str) {
// Some code here
}
或者使用类型转换:
if (Boolean(str)) {
// Code here
}
两者都执行相同的功能。将变量类型转换为布尔值,其中str
是一个变量。
它返回
false
了null
,undefined
,0
,000
,""
,false
。它返回
true
除空字符串以外的所有字符串值(包括像"0"
和这样的字符串" "
)
你能得到的最接近的东西str.Empty
(前提是 str 是一个字符串)是:
if (!str.length) { ...
如果您需要确保字符串不仅仅是一堆空格(我假设这是用于表单验证),您需要对空格进行替换。
if(str.replace(/\s/g,"") == ""){
}