NodeJS双求反三元运算符

时间:2019-06-27 10:14:28

标签: javascript node.js object ecmascript-6 ternary-operator

我在下面所示的NodeJS中使用三元运算符

let err = {a: 10, message: 0}
const error = !!err.message ? err.message : err;

但是上面的代码显示了两次否定的伴奏错误如何解决呢?下面的替代方法与上面的

相同
const error = err.message ? err.message : err;

2 个答案:

答案 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;