Appeler une méthode de classe à partir du constructeur
J'obtiens une erreur lors de l'appel d'une méthode de classe à partir de son constructeur. Est-il possible d'appeler une méthode dans le constructeur? J'ai essayé d'appeler la méthode de classe de base du constructeur d'une classe dérivée, mais je reçois toujours un message d'erreur.
'use strict';
class Base {
constructor() {
this.val = 10;
init();
}
init() {
console.log('this.val = ' + this.val);
}
};
class Derived extends Base {
constructor() {
super();
}
};
var d = new Derived();
➜ js_programs nœud class1.js
/media/vi/DONNÉES/programmes/web/js/js_programs/class1.js:7
init();
^ReferenceError: init n'est pas défini
au Dérivé.De Base (/media/vi/DONNÉES/programmes/web/js/js_programs/class1.js:7:9)
au Dérivé (/media/vi/DONNÉES/programmes/web/js/js_programs/class1.js:18:14)
à l'Objet. (/media/vi/DONNÉES/programmes/web/js/js_programs/class1.js:23:9)
au Module._compile (module.js:435:26)
au Object.Module._extensions..js (module.js:442:10)
au Module.chargement du module.js:356:32)
à une Fonction.Le Module._load (module.js:311:12)
à une Fonction.Le Module.runMain (module.js:467:10)
au démarrage (nœud.js:136:18)
au niveau du nœud.js:963:3 ➜ js_programs
OriginalL'auteur Vivek Kumar | 2016-02-19
Vous devez vous connecter pour publier un commentaire.
Vous appelez le fonction
init()
, pas la méthodeinit
deBase
ou de l'objet courant. La fonction n'existe pas dans la portée actuelle ou toutes les étendues parents. Vous devez vous référer à votre objet:OriginalL'auteur deceze
Il vous manque
this
mot-clé:OriginalL'auteur madox2