JavaScript中是否存在字符串.Empty,还是只是检查“”?
当前回答
我通常用这样的东西,
if (!str.length) {
// Do something
}
其他回答
我使用:
function empty(e) {
switch (e) {
case "":
case 0:
case "0":
case null:
case false:
case undefined:
return true;
default:
return false;
}
}
empty(null) // true
empty(0) // true
empty(7) // false
empty("") // true
empty((function() {
return ""
})) // false
忽略空白字符串,您可以使用它来检查null、空和undefined:
var obj = {};
(!!obj.str) // Returns false
obj.str = "";
(!!obj.str) // Returns false
obj.str = null;
(!!obj.str) // Returns false
它简明扼要,适用于未定义的财产,尽管它不是最可读的。
开始于:
return (!value || value == undefined || value == "" || value.length == 0);
查看最后一个条件,如果值==“”,则其长度必须为0。因此,删除它:
return (!value || value == undefined || value == "");
但是等等!在JavaScript中,空字符串为false。因此,下降值==“”:
return (!value || value == undefined);
和undefined为true,因此不需要检查。因此,我们有:
return (!value);
我们不需要括号:
return !value
您也应该经常检查类型,因为JavaScript是一种鸭子类型的语言,所以您可能不知道数据在过程中何时以及如何更改。因此,以下是更好的解决方案:
let undefinedStr;if(!undefinedStr){console.log(“字符串未定义”);}let emptyStr=“”;if(!emptyStr){console.log(“字符串为空”);}让nullStr=null;if(!nullStr){console.log(“字符串为空”);}
此外,如果您认为填充空白的字符串为“空”。
可以使用以下正则表达式进行测试:
!/\S/.test(string); // Returns true if blank.