2016-04-28 6 views
0

Ich frage mich, ob es eine Möglichkeit gibt, eine Methode zur Klasse hinzuzufügen, ohne eine neue Klasse zu erstellen und zu erweitern.So fügen Sie eine Methode zur Klasse hinzu, ohne eine neue Klasse zu erstellen, die sie erweitert.

Zum Beispiel. Ich habe eine Klasse wie diese.

class GithubApi { 
    constructor() { 
    } 
} 

Mit einigen grundlegenden funktional.

Allerdings möchte ich eine Methode zu dieser Funktion hinzufügen und erweiterbar machen.

Gibt es eine Möglichkeit, das zu tun, ohne sich davon zu entfernen?

class GithubApiExtra extends GithubApi { 
    constructor() { 
    } 
} 

Antwort

3

class ist Syntax Zucker für Prototypen, können Sie immer noch das gleiche tun, wie Sie vor dem Unterricht tun würde:

GithubApi.prototype.method = function() { 
    ... 
}; 
-1

Hallo, ein Verfahren ein Objekt in Javascript yourObject.youfun=new function(a,b){ return a*b };

es keine für das Hinzufügen ist Klasse in Javascript. gibt es Objekt constructored

wie

function Person() 
     { 
     var T=new Object(); 
     T.name='Po'; 
     T.age=12; 
     return T; 
     } 

aktualisieren bilden eine Methode: in Chrom 42 +, 45 + Firefox, Rand 13+ IE und Opera nicht Aber es gibt Klassen in ECMAScript 6 Klasse unterstützt unterstützt

class Polygon { 
    constructor(height, width) { 
    this.height = height; 
    this.width = width; 
    } 
} 

Zugabe Methode Polygon =

Polygon.prototype.fun= function(a){return a*a}; 
+0

Es gibt Klassensyntax in JavaScript: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Classes – Domenic

+0

sorry ... ich weiß es nicht, aber ich denke, in ECMA6 kommen (2015) [ link] https://en.wikipedia.org/wiki/ECMAScript#6th_Edition –

Verwandte Themen