检查 javascript 中的空值
checking for null in javascript
if (valid === null) {
return '';
} else if (!valid) {
return 'is-not-valid';
} else if (valid) {
return 'is-valid';
} else {
return '';
}
我在代码中有上面的if-else-if链,想看看我是否可以在一两行中写出相同的逻辑。
既然要区分三种类型的值,那么至少要进行两次检查。 else
情况永远不会被命中,因为 !valid
或 valid
将是 true
。这也意味着您可以将最后一个 else if
减少为 else
:
if (valid === null) {
return '';
} else if (!valid) {
return 'is-not-valid';
} else {
return 'is-valid';
}
但是您可以使用 conditional operator:
来压缩此逻辑
return valid === null ? '' : (valid ? 'is-valid' : 'is-not-valid');
虽然我认为你的例子(没有多余的 else 块)看起来很不错,但你可以这样写在一行中:
return valid === null ? '' : (valid ? 'is-valid' : 'is-not-valid')
虽然我更喜欢原版
if (valid === null) {
return '';
} else if (!valid) {
return 'is-not-valid';
} else if (valid) {
return 'is-valid';
} else {
return '';
}
我在代码中有上面的if-else-if链,想看看我是否可以在一两行中写出相同的逻辑。
既然要区分三种类型的值,那么至少要进行两次检查。 else
情况永远不会被命中,因为 !valid
或 valid
将是 true
。这也意味着您可以将最后一个 else if
减少为 else
:
if (valid === null) {
return '';
} else if (!valid) {
return 'is-not-valid';
} else {
return 'is-valid';
}
但是您可以使用 conditional operator:
来压缩此逻辑return valid === null ? '' : (valid ? 'is-valid' : 'is-not-valid');
虽然我认为你的例子(没有多余的 else 块)看起来很不错,但你可以这样写在一行中:
return valid === null ? '' : (valid ? 'is-valid' : 'is-not-valid')
虽然我更喜欢原版