@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. лучше использовать строгое сравнение (=== и !==) и приводить типы явно
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
24 апр. 2024, в 19:51
1000 руб./за проект
24 апр. 2024, в 19:40
5000 руб./за проект
24 апр. 2024, в 19:18
50000 руб./за проект