Установка одного объекта равным другому объекту с помощью оператора присваивания в Javascript

Я подхожу к JavaScript из фона. В javascript, когда я использую оператор присваивания для назначения одного объекта другому, копирует ли он значения из одного в другой, или они оба теперь указывают на одни и те же данные? Или оператор присваивания что-то делает в этом случае?

function point_type()
 {
 this.x = 0;
 this.y = 0;
 }

var pnt1 = new point_type();
var pnt2 = new point_type();

pnt1.x = 4;
pnt1.y = 5;

pnt2 = pnt1;

pnt1.x = 8;
pnt2.y = 9;

В приведенном выше примере, pnt2.x теперь равен 8, или он по-прежнему равен 4, или он по-прежнему равен 0?

Да, я понимаю, что могу проверить это сам, и я буду делать это, пока я жду, пока сообщество не ответит. Тем не менее, я надеюсь, что ответ на мой вопрос пройдет один шаг после простого ответа на этот один пример и может пролить некоторый свет на то, как работают объекты javascript и некоторые лучшие практики.

Контрольный вопрос:
Ответ, кажется, что ссылка скопирована. pnt2 и pnt1 теперь указывают на одни и те же данные. Можно ли настроить мой объект так, чтобы значения копировались? Как это обычно выполняется в JavaScript? Ясно, что я не хочу устанавливать каждый атрибут индивидуально каждый раз, когда мне нужно скопировать этот объект.

Ответы на вопрос(4)

Ваш ответ на вопрос