Задать вопрос
@lordik11

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

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

но при этом (-1 == false) тоже false
  • Вопрос задан
  • 61 просмотр
Подписаться 1 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Нетология
    Fullstack-разработчик на Python + нейросети
    20 месяцев
    Далее
  • Skillfactory
    Профессия Веб-разработчик
    12 месяцев
    Далее
  • Академия Eduson
    Fullstack-разработчик на JavaScript
    11 месяцев
    Далее
Решения вопроса 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. лучше использовать строгое сравнение (=== и !==) и приводить типы явно
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы