if (valid === null) { return '';} else if (!valid) { return 'is-not-valid';} else if (valid) { return 'is-valid';} else { return '';}我的代码中有上面的 if-else-if 链,试图看看是否可以在一两行中编写相同的逻辑。
2 回答
哆啦的时光机
TA贡献1779条经验 获得超6个赞
由于您想要区分三种类型的值,因此您必须至少进行两次检查。这个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
TA贡献1804条经验 获得超2个赞
尽管我认为您的示例(没有多余的 else 块)看起来相当不错,但您可以将其写在一行上,如下所示:
return valid === null ? '' : (valid ? 'is-valid' : 'is-not-valid')
不过我更喜欢原版
添加回答
举报
0/150
提交
取消