Anonim-Nonameov
@Anonim-Nonameov
Начинающий верстальщик.

Почему 0 равен и true и false?

Здравствуйте.
Я изучаю JS, и мне вот стало интересно:
Почему когда мы сравниваем цифру 0 и false:
console.log(0 == false);
выводит true, а когда мы применяем оператор строгого сравнения:
console.log(0 === false);
выводит false.

Почему так?
Вроде как 0 = false, и при сравнении оператором строгого сравнения должно быть true, как и при сравнении обычным оператором сравнения.
  • Вопрос задан
  • 801 просмотр
Решения вопроса 1
vabka
@vabka
Токсичный шарпист
Оператор строгого сравнения ещё проверяет, что у обоих значений одинаковый тип.
typeof(true) -> "boolean"
typeof(0) -> "number"
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@Gary_Ihar
JS *овнокодер
Во, смотри: тык
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы