这个 if 语句有什么问题?如果我传递非空值,我仍然无法进入 if 块
双方val1
并val2
具有值:
let val1 = 'category'
let val2 = 'medical'
if ((val1 !== null || val1 !== '') && (val2 !== null || val2 !== '')) {
console.log(val1, val2);
}
val1
为空并val2
有一个值:
let val1 = ''
let val2 = 'medical'
if ((val1 !== null || val1 !== '') && (val2 !== null || val2 !== '')) {
console.log(val1, val2);
}
您想使用&&
and not ||
,因为您目前所说的是:
Val
不能null
或它不能empty
。
只要其中一个评估为true
,它就会进入if statement
. 由于 anempty string
不等于null
,因此null
检查是true
这意味着评估为的检查之一true
并将输入if statement
. 如果反之亦然,则empty string
将评估为true
并再次进入if statement
.
如果您正在检查相等性,然后阅读如下,这将更有意义:
Val
可以null
或它可以empty
。
然而,这不是你要找的,所以你想说的是:
Val
不能null
并且它不能是empty
。
&&
检查。||
检查。let val1 = 'category'
let val2 = 'medical'
if ((val1 !== null && val1 !== '') && (val2 !== null && val2 !== '')) {
console.log(val1, val2);
}
val1 = ''
if ((val1 !== null && val1 !== '') && (val2 !== null && val2 !== '')) {
console.log(val1, val2);
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句