【发布时间】:2020-06-18 09:20:34
【问题描述】:
我有以下代码,使用三元运算符来判断值是真还是假。
我的预期结果是 pp 为真,但我得到的结果是假的。
这怎么可能?这对我来说没有意义。
const test = (x) => {
(x === 1) ? true : false;
}
let pp = test(1); // SHOULD BE TRUE
if (pp) {console.log('pp is true')}
else {console.log('pp is false')}; // PRINTS FALSE, BUT SHOULD BE TRUE
【问题讨论】:
-
使用表达式而不是代码块:
const test = (x) => (x === 1) ? true : false; -
或者更简单:
const test = (x) => x === 1; -
是的,你是对的。抱歉,这是一个愚蠢的错误
-
对于这个简单的真或假任务,您可以使用一些“快捷方式”,我会这样说
return !!(x === 1)
标签: javascript if-statement conditional-operator