我在下面所示的NodeJS中使用三元运算符
let err = {a: 10, message: 0}
const error = !!err.message ? err.message : err;
但是上面的代码显示了两次否定的伴奏错误如何解决呢?下面的替代方法与上面的
相同const error = err.message ? err.message : err;
答案 0 :(得分:6)
实际上并不需要使用!!
-此代码就是您想要的:
const error = err.message ? err.message : err;
如果您真的想检查布尔值而不是纯值:
const error = Boolean(err.message) ? err.message : err;
还要注意,您正在做的事情-如果err.message
是真实的,请使用它,或者使用err
-是逻辑OR运算符||
的确切用例:>
const err = err.message || err;
答案 1 :(得分:5)
如果愿意,您可以完全避免使用条件运算符-如果err.message
为假,只需与err
交替出现:
const error = err.message || err;