检查 JavaScript 中是否为 null

if (valid === null) {

  return '';

} else if (!valid) {

  return 'is-not-valid';

} else if (valid) {

  return 'is-valid';

} else {

  return '';

}

我的代码中有上面的 if-else-if 链,试图看看是否可以在一两行中编写相同的逻辑。


眼眸繁星
浏览 151回答 2
2回答

哆啦的时光机

由于您想要区分三种类型的值,因此您必须至少进行两次检查。这个else案子永远不会被击中,因为 或!valid将会valid被击中true。这也意味着您可以将最后else if一个减少为else:if (valid === null) {  return '';} else if (!valid) {  return 'is-not-valid';} else {  return 'is-valid';}但是您可以使用条件运算符来压缩此逻辑:return valid === null ? '' : (valid ? 'is-valid' : 'is-not-valid');

慕婉清6462132

尽管我认为您的示例(没有多余的 else 块)看起来相当不错,但您可以将其写在一行上,如下所示:return valid === null ? '' : (valid ? 'is-valid' : 'is-not-valid')不过我更喜欢原版
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript