yieldはreturnと同様、関数内で定義されるもので呼び出し元に値を返却することが出来る。

ただし、returnと違いyieldで返却した場合は次に関数が呼び出された際、yieldで返却した時点から処理を再開する。以下の例を参照。

 

【例】

function testFunc() {

//処理1

yield ‘ポイント1’;

//処理2

yield ‘ポイント2’;

}

 

一度目に関数にアクセスすると、処理1を経てポイント1の値が返却される。

二度目に関数にアクセスすると、処理2を経てポイント2の値が返却される。