まず、クラス内にジェネレーターメソッドを定義します。ジェネレーターメソッドは、function* キーワードを使用して定義されます。以下は、ジェネレーターメソッドの例です。
class MyClass {
*myGenerator() {
yield '値1';
yield '値2';
yield '値3';
}
}
上記のコードでは、myGenerator
という名前のジェネレーターメソッドが定義されています。このメソッド内では、yield
キーワードを使用して値を返します。
次に、クラスのインスタンスを作成し、ジェネレーターメソッドを使用して反復可能なオブジェクトを取得します。以下はその例です。
const myObj = new MyClass();
const generator = myObj.myGenerator();
console.log(generator.next().value); // 出力: 値1
console.log(generator.next().value); // 出力: 値2
console.log(generator.next().value); // 出力: 値3
上記のコードでは、myObj
という名前のMyClass
のインスタンスを作成し、myGenerator
メソッドを呼び出してgenerator
オブジェクトを取得しています。その後、generator.next().value
を使用して値を取得しています。
このように、ジェネレーターをクラス内で使用することで、反復処理をシンプルかつ柔軟に行うことができます。さまざまなシナリオで活用できるので、ぜひ試してみてください。