JavaScriptClass: простой условный (тернарный) оператор возвращает неверный результат - PullRequest
0 голосов
/ 18 июня 2020

У меня есть следующий код, использующий тернарный оператор для определения значения true или false.

Мой ожидаемый результат будет pp is true , однако я получаю результат что это ложь.

Как такое может быть? Для меня это не имеет смысла.

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

Ответы [ 2 ]

1 голос
/ 18 июня 2020

в скобках {} нужно добавить "return" в теле

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

или без скобок

const test = (x) =>  (x === 1) ? true : false;
1 голос
/ 18 июня 2020

Необходимо вернуть 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')};
...