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.
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