Ustawienie jednego obiektu równego innemu obiektowi za pomocą operatora przypisania w Javascript

Idę do javascript z tła C. W javascript, gdy używam operatora przypisania do przypisywania jednego obiektu do drugiego, czy kopiuje on wartości z jednego do drugiego, czy też oba wskazują teraz te same dane ?. Czy też operator przypisania robi coś w tym przypadku?

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;

W powyższym przykładzie pnt2.x ma teraz wartość 8, czy nadal jest równy 4, czy nadal równa się 0?

Tak, zdaję sobie sprawę, że mogę to przetestować sam i będę to robił, gdy czekam na odpowiedź społeczności. Mam jednak nadzieję, że odpowiedź na moje pytanie przejdzie o krok do przodu, odpowiadając tylko na jeden przykład i może rzucić nieco światła na to, jak działają obiekty javascript i niektóre najlepsze praktyki.

Kontynuuj pytanie:
Odpowiedź wydaje się być taka, że ​​odniesienie jest kopiowane. pnt2 i pnt1 wskazują teraz te same dane. Czy można ustawić mój obiekt tak, aby wartości były kopiowane? Jak to zwykle odbywa się w javascript? Oczywiście nie chcę ustawiać każdego atrybutu indywidualnie za każdym razem, gdy muszę skopiować ten obiekt.

questionAnswers(4)

yourAnswerToTheQuestion