• [^] # Re: sans prétentions

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

    J'ai l'impression que la déclaration de fact2 en tant que fonction est oubliée. Il ne connait plus que la méthode animal.fact2.
    Aussi, si tu jettes des exceptions depuis fact / fact2, il renvoies des jolies stack traces (ex.stack) qui remonte les noms de méthode de l'objet.
    Bref, je ne vois pas de différences notable à mon humble niveau.

    je rajoutes un exemple au cas où cela t'en soulève une, de gauche ou de droite.

    // ES6 only
    'use strict';
    // The base object, "object literal" syntax
    let animal = {
     // public member
     animalType: 'animal',
     // public method
     describe() {
     // This way, we get sure "this" is correctly bound to the animal instance
     return `This is "${this.animalType}"`;
     }
    };
    let cahuete = {
     animalType: 'cahuete'
    };
    cahuete.describe = animal.describe;
    console.log(cahuete.describe()) // => This is "cahuete"