@fleshik

Как происходит сравнение в JS?

Подскажите как происходит сравнение в этих случаях почему в первом false, а во втором true ?
const a = [5,7]
  const b = a
  
 console.log(a==[5,7])
  console.log(b == a)
  • Вопрос задан
  • 334 просмотра
Решения вопроса 2
Расппишу вам подробно происходящее. В первой строке происходит создание переменной и ее инициализациия, а именно переменной a присваивается ссылка на указанный вами массив из двух элементов(5 и 7). Во второй строке вы создаете переменную b и присваиваете ей ссылку на массив который находится в переменной a. Так как вы указали, что переменная b ссылается на тот же массив, что и a, то логично, что все манимуляции которые будет происхолить с массивом будут "отображатся" в двух переменных(Например: удалите элемент, добавите элемент или отсортируете массив каким-то обрзаом). В строке a==[5,7] логично, что возвращается false,т.к для компьютера это совершенно разные элементы, хотя для нас они идентичны(Мы видим, что [5,7] должно равнятся [5,7]). Ну, а в строке a == b, как я уже описал выше они ссылаются на один и тот же массив, поэтому мы и получаем в ответ true.
Ответ написан
VoidVolker
@VoidVolker Куратор тега JavaScript
Dark side eye. А у нас печеньки! А у вас?
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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