2016-05-26 7 views

Antwort

0

Wie initialisiert man eine Eigenschaft, die zum Objektprototyp mit Konstruktor hinzugefügt wird?

Sie würden das überhaupt nicht tun. Eine instanzspezifische Eigenschaft, die pro Instanz initialisiert wird, muss als eigene Eigenschaft der Instanz angegeben werden. Sie legen es nicht auf das Prototyp-Objekt, es macht keinen Sinn, alle Instanzen erben zu lassen.

So initialisieren es nur im Konstruktor nur, wie Sie immer würde:

function Example(arg) { 
    this.someNewProperty = arg; 
} 

Das ist es.

+0

Ich folge aus Ihrer Antwort, dass das Hinzufügen von Eigenschaften zum JS-Objektprototyp analog zur Deklaration statischer Klassenmitglieder ist (wie in C++ zum Beispiel). Ist das richtig? –

+0

Nein, die Eigenschaften des Prototyps sind statisch, aber Instanzmitglieder. In C++ oder anderen klassenbasierten Sprachen gibt es kein gutes Analogon. Das Prototyp-Objekt ist das, wovon jede Instanz Eigenschaften (typischerweise Methoden) erbt. – Bergi

+0

Danke für die Erklärung. Ich bin noch nicht an JS Art von OOP gewöhnt. –

Verwandte Themen