new Object() , class

Auf dieser Seite stelle ich 2 weitere Möglichkeiten vor, in Javascript ein Objekt zu erzeugen. Eine Methode mittels new Object() und eine moderne Möglichekeit mittels class.

new Object()

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

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

this

Beachte das Schlüsselwort this in der Methode aboutExtras() n. Es bezieht sich auf das Objekt. Ohne this wäre extras undefiniert.

Objekte kopieren

Auf diese Weise kann man zwar keine weitere Instanz 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;

 

class

Mit ECMAScript6 kann man auch über das Schlüsselwort class eine Klasse erzeugen.

Beispiel

'use strict';
class Hut {
    constructor(ecken, farbe){
    this.ecken = ecken;
    this.farbe = farbe;	
    }
    singMeinLied(){console.log("Mein " + this.farbe + "er Hut der hat " + this.ecken + " Ecken.")};
 }


let zylinder = new Hut(3, "rot");
zylinder.singMeinLied();

 

Das folgende Thema eval() kann man getrost erstmal überschlagen.

eval()

Mittels dem Javascript Befehl eval() kann man Strings zu einem Objekt auflösen. Strings lassen sich verschicken und können dann empfangen und mittels eval() zu einem Objekt zusammengesetzt werden.

var auto = "({tueren:4, raeder:3})";

So eine Zeichenkette kann man an den Server schicken, der es dann verarbeitet. Oder man bekommt so eine Zeichenkette vom Server und kann diese dann mittesl eval() in ein Objekt umwandeln.

fahrzeug = eval(auto);

console.log(fahrzeug);


Javascript Tipps