JavaScriptClass:简单条件(三元)运算符 returns 错误结果

JavaScriptClass : Simple conditional (ternary) Operator returns wrong result

我有以下代码,使用三元运算符来判断值是真还是假。

我的预期结果是 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

您需要 return boolean:

const test = (x) => {
    return (x === 1) ? true : false;
}


let pp = test(1);


if (pp) {console.log('pp is true')}
else {console.log('pp is false')};

括号{}你需要在正文中添加"return"

const test = (x) => {
 return (x === 1) ? true : false;
}

或不带括号

const test = (x) =>  (x === 1) ? true : false;