I want to change my code to execute chaining. this is my code:
let stepCount = {
step: 0,
up() {
this.step++;
},
down() {
this.step--;
},
showStep: function () {
return this.step;
}
};
How should I change it? I want to execute this code to get answer
stepCount.up().up().down().up();
you just need to return the current object from each function like this
let stepCount = {
step: 0,
up() {
this.step++;
return this;
},
down() {
this.step--;
return this
},
showStep() {
console.log(this.step)
return this;
}
};
stepCount.up().up().down().showStep().down().showStep();
This should do the job:
class Step {
constructor(count) {
this.step = count;
}
up() {
this.step++;
return this;
}
down() {
this.step--;
return this;
}
}
console.log(new Step(5).up().up().step); // 7