@Arthur_16
junior(nearly)

Почему при изменении поля объекта, на который ссылается второй объект, не меняется поле второго объекта?

var origin = {
    name: "default"
};
var test = {
    name: origin.name
};
	
    console.log(test.name); // default
	
    origin.name = "new";
	
    console.log(test.name); // default
    console.log(origin.name); // new


test.name ссылается на orign.name
почему при изменении oprign.name не меняется test.name ?
  • Вопрос задан
  • 54 просмотра
Решения вопроса 2
DarthWazer
@DarthWazer
Где оно ссылается?
В name присваиваются не ссылки на объекты, а значения свойств, которые не являются ссылочным типом.
Ответ написан
AlexKeller
@AlexKeller
Потому что она НЕ ссылается. Обычные значения: строки, числа, булевы значения, null/undefined при присваивании переменных копируются целиком или, как говорят, «по значению».
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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