Erreur ex 19/30


#1

Salut ! Codecademy me renvoit l'erreur suivante :

Oups, merci de réessayer.
Votre code a renvoyé l'erreur suivante : TypeError: invalid 'instanceof' operand Pingouin

Voici le code :

// la fonction originale Animal et la méthode disNom
function Animal(nom, nombrePattes) {
    this.nom = nom;
    this.nombrePattes = nombrePattes;
}
Animal.prototype.disNom = function() {
    console.log("Bonjour, mon nom est " + this.nom);
};
function Pingouin(nom){
    this.nom = nom,
    this.nombrePattes = 2
}
Pingouin.prototype = new Pingouin();

var Pingouin = new Pingouin("supertux");

Pingouin.disNom();

Merci pour votre aide !


#2

il y a une erreur de majuscule.

" var Pingouin = new Pingouin("supertux");
Pingouin.disNom(); "

devrait être

" var pingouin = new Pingouin("supertux");
pingouin.disNom(); "


#3

En fait tu as quelques petites erreurs ds ton code:
1) Quand tu définis ta classe Pingouin tu oublies les ";" (points virgules). Ce ne sont pas des virgules.
Ca devrait être comme ceci:

Animal.prototype.disNom = function() {
console.log("Bonjour, mon nom est " + this.nom);
};

2) Pingouin.prototype = new Pingouin();
ici on parle d'héritage. Ton Pingouin devrait donc hériter de sa mère, alors il devrait ressembler à ceci:

// Définissez ce prototype comme une nouvelle instance de Animal
Pingouin.prototype = new Animal();

Voici mon code.

// la fonction originale Animal et la méthode disNom
function Animal(nom, nombrePattes) {
this.nom = nom;
this.nombrePattes = nombrePattes;
}
Animal.prototype.disNom = function() {
console.log("Bonjour, mon nom est " + this.nom);
};

// Créez un constructeur de Pingouin ici

function Pingouin(nom) {
this.nombrePattes = 2;
this.nom = nom;
}

// Définissez ce prototype comme une nouvelle instance de Animal
Pingouin.prototype = new Animal();
var pingouin = new Pingouin("pingouin");
pingouin.disNom();