Lim*_*ime 40 javascript null undefined
除了创建一个功能,有检查的值是一个较短的方式undefined
,null
或者false
只在JavaScript?
下面的if语句相当于if(val===null && val===undefined val===false)
代码工作正常,我正在寻找更短的等价物.
if(val==null || val===false){
;
}
Run Code Online (Sandbox Code Playgroud)
val==null
当val=undefined
或时,以上评估为真val=null
.
我在考虑使用按位运算符或其他一些技巧.
hug*_*omg 33
好吧,你总是可以"放弃":)
function b(val){
return (val==null || val===false);
}
Run Code Online (Sandbox Code Playgroud)
小智 13
我认为最好的方法是:
if(val != true){
//do something
}
Run Code Online (Sandbox Code Playgroud)
如果val为false,NaN或未定义,则为true.
我认为您正在寻找的是!!val==false
可以转向的!val
(甚至更短):
你看:
function checkValue(value) {
console.log(!!value);
}
checkValue(); // false
checkValue(null); // false
checkValue(undefined); // false
checkValue(false); // false
checkValue(""); // false
checkValue(true); // true
checkValue({}); // true
checkValue("any string"); // true
Run Code Online (Sandbox Code Playgroud)
这可以通过使用!
运算符翻转值来实现。
null
例如,如果您翻转一次,例如:
console.log(!null) // that would output --> true
Run Code Online (Sandbox Code Playgroud)
如果您将其翻转两次,如下所示:
console.log(!!null) // that would output --> false
Run Code Online (Sandbox Code Playgroud)
与undefined
或相同false
。
您的代码:
if(val==null || val===false){
;
}
Run Code Online (Sandbox Code Playgroud)
然后将变为:
if(!val) {
;
}
Run Code Online (Sandbox Code Playgroud)
即使有字符串但长度为零,这也适用于所有情况。现在,如果您希望它也适用于数字0(false
如果将其两次翻转将变为数字),则您的if将变为:
if(!val && val !== 0) {
// code runs only when val == null, undefined, false, or empty string ""
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
130567 次 |
最近记录: |