在javascript中检查空值和空值

莱利·克里斯蒂安

这个 if 语句有什么问题?如果我传递非空值,我仍然无法进入 if 块

双方val1val2具有值:

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] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章