ホームページ > 記事 > ウェブフロントエンド > ES6のジェネレータ関数の説明(コード例)
この記事では、laravel でのバリデーターの使用法 (コード例) を紹介します。必要な方は参考にしていただければ幸いです。
実際、最初の数章はどのように書いたらよいのかわかりません。なぜなら、これらの章には常に、反復可能なオブジェクト
、##などのより深い内容が含まれるからです。 # Generator、
Iterator などについては、このシリーズを終えた後に整理した方がよいかもしれません。
function* name([param[, param[, ... param]]]) { statements }
function* idMaker(begin=0){ while(true) yield begin++; } let maker=idMaker(0) console.log(maker.next().value) // 0 console.log(maker.next().value) // 1 console.log(maker.next().value) // 2 console.log(maker.next().value) // 3 ...
ジェネレータ関数を呼び出すとイテレータが返されます。イテレータはイテレータ プロトコルを満たすオブジェクトです。簡単に言うと、イテレータ オブジェクトには反復結果オブジェクトを返す関数が必要です。オブジェクトには次の関数が含まれます。次の 2 つの属性:
Chestnut-Limited
id<pre class="brush:php;toolbar:false">function* idMaker(begin=0){
while(begin<3)
yield begin++;
}
let maker=idMaker(0)
console.log(maker.next()) // {value: 0, done: false}
console.log(maker.next()) // {value: 1, done: false}
console.log(maker.next()) // {value: 2, done: false}
console.log(maker.next()) // {value: undefined, done: true}</pre>
関数の実行が完了すると、done は自動的に true になります次はパラメータを受け取ります
function *createIterator() { let first = yield 1; let second = yield first + 2; // 4 + 2 // first =4 是next(4)将参数赋给上一条的 yield second + 3; // 5 + 3 } let iterator = createIterator(); console.log(iterator.next()); // "{ value: 1, done: false }" console.log(iterator.next(4)); // "{ value: 6, done: false }" console.log(iterator.next(5)); // "{ value: 8, done: false }" console.log(iterator.next()); // "{ value: undefined, done: true }"
戻る
function* yieldAndReturn() { yield "1"; return "2"; yield "3"; } var gen = yieldAndReturn() console.log(gen.next()); // { value: "1", done: false } console.log(gen.next()); // { value: "2", done: true } console.log(gen.next()); // { value: undefined, done: true }
以上がES6のジェネレータ関数の説明(コード例)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。