tilbage til lektionen

Kæder

vigtighed: 2

Der er et ladder objekt, der tillader dig at gå op og ned:

let ladder = {
  step: 0,
  up() {
    this.step++;
  },
  down() {
    this.step--;
  },
  showStep: function() { // viser det nuværende trin
    alert( this.step );
  }
};

Nu, hvis vi skal lave flere kald i rækkefølge, kan vi gøre det sådan her:

ladder.up();
ladder.up();
ladder.down();
ladder.showStep(); // 1
ladder.down();
ladder.showStep(); // 0

Modificer up, down og showStep metoderne, så kald kan kædes sammen, som dette:

ladder.up().up().down().showStep().down().showStep(); // viser 1 og derefter 0

Sådan en tilgang er bredt anvendt i JavaScript-biblioteker.

Åbn en sandbox med tests.

Løsningen er at returnere objektet selv fra hvert kald.

let ladder = {
  step: 0,
  up() {
    this.step++;
    return this;
  },
  down() {
    this.step--;
    return this;
  },
  showStep() {
    alert( this.step );
    return this;
  }
};

ladder.up().up().down().showStep().down().showStep(); // Viser 1 og derefter 0

Vi kan også skrive et enkelt kald per linje. For lange kæder er det mere læsbart:

ladder
  .up()
  .up()
  .down()
  .showStep() // 1
  .down()
  .showStep(); // 0

Åbn løsningen med tests i en sandbox.