en.javascript.info/1-js/04-object-basics/04-object-methods/8-chain-calls/solution.md

39 lines
540 B
Markdown

The solution is to return the object itself from every call.
```js run demo
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(); // shows 1 then 0
```
We also can write a single call per line. For long chains it's more readable:
```js
ladder
.up()
.up()
.down()
.showStep() // 1
.down()
.showStep(); // 0
```