function test(val) {
const hasError = val ?? true;
if (hasError) {
//error handling...
} else {
//do something...
}
}
test(null) //error handling...
test(undefined) //error handling...
test('text') //error handling...
test(true) //error handling...
像这种情况下,我想过滤"null"one_answers"undefined">
但它的每一个真理的价值。
所以我只有一个选择。。。
const hasError = (val === undefined || val === null);
在这种情况下,有什么方法可以使用null运算符吗?
零位运算符一般在什么时候使用?
谢谢
如果您确定
const hasError = (val === undefined || val === null);
捕捉到你想要的逻辑,那么问题是
const hasError = val ?? true;
如果您随后要在if
表达式中使用该标志,则会给出与之相反的。你真的想跟随
if (hasError !== true)
这(对我来说(真的很困惑。相反,你可以想象??
操作符会给你相反的结果:
const noError = val ?? true;
if (!noError)
这更有意义。就我个人而言,我会使用
const hasError = val == null;
或者直接在CCD_ 3中进行测试。