• [^] # Re: sans prétentions

    Posté par . En réponse au message Question sur les factories en Js. Évalué à 0.

    et bien justement, il se trouve que tu as écris une fonction fléchée !

    regardes ton code initial,

     KO1() {
     console.log("KO1");
     },
     KO2: function() {
     console.log("KO2");
     }
    

    KO1 est une fonction fléchée ! Enfin, ça y ressemble imho.

    Le truc étant que comme ni Object.create, ni l'objet d'extension {animalType...} ne définisse de scope, je suppute que le this sera affecté a afc, mais cela reste à vérifier.

    Ceci dit, depuis le début ta syntaxe de KO1 me pose un souci.

    Essaies de lire ces papiers, ils m'ont l'air plus appropriés à ce que tu souhaites écrire

    class Carré extends Polygone {
     constructor(longueur) {
     // On utilise le constructeur de la classe parente
     // avec le mot-clé super
     super(longueur, longueur);
     // Pour les classes dérivées, super() doit être appelé avant de
     // pouvoir utiliser 'this' sinon cela provoque une exception
     // ReferenceError
     this.nom = 'Carré';
     }
     get aire() {
     return this.hauteur * this.largeur;
     }
     set aire(valeur) {
     this.aire = valeur;
     }
    }
    

    comme quoi c'est le souk ; )