@lordik11

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

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

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

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

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

Войти через центр авторизации
Похожие вопросы
Artezio Нижний Новгород
от 130 000 до 180 000 ₽
Artezio Москва
от 160 000 до 220 000 ₽
Artezio Витебск
от 2 800 до 3 300 $
03 мар. 2021, в 12:09
2000 руб./за проект
03 мар. 2021, в 12:07
200 руб./за проект
03 мар. 2021, в 12:07
11000 руб./за проект