La question est en détail ci-dessous. J'ai lu le guide Mozilla sur l'héritage multiple et je vois que nous pouvons hériter des méthodes d'une autre méthode de prototype de constructeur en utilisant call ou apply, pour définir le contexte, et en configurant manuellement le prototype comme suit.JavaScript - Utiliser Affecter pour hériter des fonctions de plusieurs prototypes?
function Person(){
}
function Programmer(){
Person.call(this);
}
Programmer.prototype = Object.create(Person.prototype);
On peut aussi faire l'héritage multiple en appelant plusieurs constructeurs, mais qui fonctionne tout simplement sur les propriétés définies dans les constructeurs de parents. Ma question est, comment hérite-t-on de plusieurs prototypes, correctement? Que faire si j'utilise Object.Assign(), comme suit.
function Person(){
}
function Programmer(){
}
function Employee(){
Person.call(this);
Programmer.call(this);
}
Object.assign(Employee.prototype, Person.prototype);
Object.assign(Employee.prototype, Devolper.prototype);
Ceci traiterait les constructeurs de Parent comme s'ils étaient des Mixins, correct? Au lieu de pointer vers le prototype parent, nous copions les propriétés dans le prototype employé. De plus, si les parents ont les mêmes méthodes, l'ordre dans lequel les prototypes sont assignés entrerait en jeu. Nous n'avons pas non plus besoin de mettre à l'échelle le lien du prototype. Nous n'avons pas non plus besoin de définir explicitement le constructeur. typeof
ne fonctionnerait pas, le typage de canard est mieux de toute façon .. rite? Merci.
Si ma question a reçu une réponse, veuillez la fermer. Si la question n'a pas de sens, s'il vous plaît faites le moi savoir. Merci!