Ksenia I.цитирует3 дня назад
JS не определяет === как структурное равенство для объектных значений. Вместо этого === использует для объектных значений тождественное равенство.
В JS все объектные значения хранятся по ссылке (см. приложение А, «Значения и ссылки»), присваиваются и передаются копированием ссылки, а в контексте нашего текущего обсуждения сравниваются по ссылочному (тождественному) равенству. Пример:
var x = [ 1, 2, 3 ];

// Присваивание выполняется копированием ссылки,
// поэтому y ссылается на *тот же* массив, что и x,
// а не на его новую копию.
var y = x;

y === x; // true
y === [ 1, 2, 3 ]; // false
x === [ 1, 2, 3 ]; // false
  • Войти или зарегистрироваться, чтобы комментировать