@lordik11

Почему при сравнении результат отличный от троичного условного оператора?

console.log(-1 ? 1 : 2);
// 1
console.log(-1 == true);
// false

но при этом (-1 == false) тоже false
  • Вопрос задан
  • 59 просмотров
Решения вопроса 1
bingo347
@bingo347 Куратор тега JavaScript
Crazy on performance...
В выражении -1 ? 1 : 2 значение -1 приводится к типу boolean и получается true
В выражении -1 == true значение true приводится к числу и получается 1
https://habr.com/ru/company/ruvds/blog/347866/

P.S. лучше использовать строгое сравнение (=== и !==) и приводить типы явно
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
23 нояб. 2024, в 23:03
1 руб./за проект
23 нояб. 2024, в 22:38
2500 руб./за проект
23 нояб. 2024, в 22:03
3000 руб./за проект