J o: Javascript Referenzen

Beitrag lesen

Moin,

ich hab eine Frage zu Referenzen. Dazu ein kleines Beispiel:

var data = {a: 1, b: 2, c:3};

var f = function(){
	this.a = data.a; //Keine Referenz?
  this.d = data; //Referenz
  this.geta = function(){
  	return this.a;
  }
  this.getd = function(){
  	return this.d;
  }
}

var foo = new f();

Object.assign(data, {a: 5, d:6}); // ändert f.d
																	// ändert f.a NICHT

console.log(foo.geta());
console.log(foo.getd());

Erstens, warum ist this.a = data.a; anscheinend keine Referenz? Beziehungsweise was ist mein Denkfehler?
Und Zweitens, wie kann man eine Referenz auf eine Eigenschaft eines Objektes erzeugen. (Möchte das ungern mit "setter-Funktionen" machen, da sich das durch sehr viele Instanzen zeiht).

Gruß
Jo

akzeptierte Antworten