Object.create()

Seit EcmaScript5 gibt es die Möglichkeit über die Helfermethode Object.create() ein Objekt zu erzeugen. Als Parameter wird der Prototyp des zu erzeugenden Objekts erwartet.

        let opel = Object.create({name:"Opel", raeder:4});
        console.log( opel.raeder);//4

new Object()

var Auto = new Object();
Auto.tueren = 5;
Auto.raeder = 4;
Auto.extras = ["Autoradio", "Navi", "Spoiler"];
Auto.aboutExtras = function(){
	console.log("Extras: "+ this.extras);
	}
	
Auto.aboutExtras(); 	

Beispiel

Im Beispiel wird mit dem Schlüsselwort new ein neues Objekt Auto erzeugt. Dieses bekommt die Attribute: tueren, raeder und die Methode aboutExtras nachträglich zugewiesen. In der letzten Zeile wird die Methode aboutExtras aufgerufen.

this

Beachte das Schlüsselwort this in der Funktion. Es bezieht sich auf das Objekt. Ohne this wäre extras undefiniert.

Objekte kopieren

Auf vorige Weise kann man zwar keine weitere Instanz der Klasse Auto erzeugen, man könnte jedoch ein Duplikat des Objekts erzeugen:

var Klapperkiste = Object.create(Auto);

Das Objekt Klapperkiste besässe die gleichen Eigenschaften und Methoden wie Auto. Diesen Attributen und Methoden könnte man andere Werte zuweisen. Außerdem könnte man weitere Attribute und Methoden anhängen.

Klapperkiste.raeder = 3;

Klapperkiste.radio = true;

 

Javascript Tipps