@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 при присваивании переменных копируются целиком или, как говорят, «по значению».
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через TM ID
Похожие вопросы
Digital Sharks Казань
от 60 000 до 65 000 руб.
CS Money Санкт-Петербург
от 120 000 до 150 000 руб.
20 янв. 2019, в 22:33
30000 руб./за проект
20 янв. 2019, в 22:03
1000 руб./за проект