@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 ?
  • Вопрос задан
  • 46 просмотров
Решения вопроса 2
DarthWazer
@DarthWazer
Где оно ссылается?
В name присваиваются не ссылки на объекты, а значения свойств, которые не являются ссылочным типом.
Ответ написан
AlexKeller
@AlexKeller
Потому что она НЕ ссылается. Обычные значения: строки, числа, булевы значения, null/undefined при присваивании переменных копируются целиком или, как говорят, «по значению».
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
21 марта 2019, в 12:32
100000 руб./за проект
21 марта 2019, в 11:50
2000 руб./за проект
21 марта 2019, в 11:29
20000 руб./за проект