Partage
  • Partager sur Facebook
  • Partager sur Twitter

Chainer des class ou fonctions

Sujet résolu
    11 février 2019 à 22:29:38

    Bonjour j’essaie de chainer des class ou fonctions (je pense pas que ce soit le terme) je n'arrive pas au résultat que je veux, voilà ce que j'aimerais réussir à faire :

    selectId('div-centre').forme('carré').couleur('bleu').bordure('noire');

    Est ce que c'est possible ?

    Merci de vos éventuels conseils.

    EDIT : Oui c'est possible mais j'aurais aimé que l'ordre à partir du deuxième soit interchangeable là ça va être compliqué.

    -
    Edité par itachî 11 février 2019 à 23:49:27

    • Partager sur Facebook
    • Partager sur Twitter
      12 février 2019 à 11:17:08

      Bonjour,

      Il faut que tes méthodes retournent l'objet. Dans cet exemple :

      class Toto {
      	constructor(a) {
        	this.a = a;
        }
        
        inc() {
        	this.a += 1;
          return this;
        }
        
        dec() {
        	this.a -= 1
        }
      }

      tu peux faire ça parceque la méthode inc() retourne this (l'instance de Toto, ici test) :

      const test = new Toto(0);
      test.inc().dec();

      mais tu ne peux pas faire ça parceque dec() ne retourne rien (undefined) :

      const test2 = new Toto(0);
      test2.dec().inc();






      • Partager sur Facebook
      • Partager sur Twitter
        12 février 2019 à 17:11:13

        Gros gain de temps immense merci, je n'avais pas fais comme ça. :)
        • Partager sur Facebook
        • Partager sur Twitter

        Chainer des class ou fonctions

        × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
        × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
        • Editeur
        • Markdown