チェーンメソッド's Tips
いくつもメソッドを連続で実行するためには、一工夫するだけで実行できます。
それは、メソッド末尾にreturn this;
と返すだけです。
以下の例では、最後にthisを返すことで、Person
オブジェクトを返すことになるので、チェーンにしてもエラーが発生せずに実行出来ます。
class Person {
constructor(name, age) {
this.name = name;
this.age = age;
}
hello(person) {
console.log(`hello ${person.name}`);
return this;
}
bye(person) {
console.log(`Goodbye, ${person.name}.`);
return this;
}
}
// インスタンスを生成
const bob = new Person('Bob', 23);
// チェーンメソッドで実行する
bob.hello(bob).bye(bob);
// => 'hello bob' 'Goodbye, bob'