@AnneyBen

Почему при == показывает false, а не true?

false == 0;
true

true == 1;
true


var text001 = [true, false, true, false, false];
var text002 = [1, 0, 1, 0, 0];
text001 == text002;
false


Почему так происходит?
  • Вопрос задан
  • 149 просмотров
Решения вопроса 2
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
Потому что объекты (а массив - это тоже объект) сравниваются не поэлементно. Сравниваются ссылки на объекты, а они разные, даже если содержимое объектов абсолютно одинаковое.
1 == 1 // true
[1] == [1] // false
Ответ написан
wapster92
@wapster92 Куратор тега JavaScript
Потому-что массив это объект, а как мы знаем при сравнении объектов проверяются их ссылки. В данном случае объекты ссылаются на разные ячейки памяти.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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