在 JavaScript 中,生成器函數是一種特殊的函數,它允許我們在執行過程中暫停和恢復。使用 function* 關鍵字定義生成器函數,並透過 yield 關鍵字暫停函數的執行,等待下一次被調用時再恢復。
生成器函數的使用
生成器函數與普通函數不同的是,它不會一次性執行完畢,而是可以在執行過程中「停下來」,並返回一個 Iterator 物件,這個物件可以用來逐步執行生成器內部的代碼。
在這個範例中,生成器函數 numberGenerator 每次執行 yield 語句時會暫停,並在下一次調用 next() 時從暫停的地方恢復。
結論
生成器在 JavaScript 中是一個非常靈活的功能,它允許我們精確控制函數的執行流程。透過 yield 暫停函數,我們可以實現逐步執行的過程,這對於處理大型數據集或需要逐步產生值的情境尤為適合。此外,生成器還可以與異步操作結合,模擬非同步流程的執行順序,讓代碼更加清晰可讀。掌握生成器的使用有助於我們在解決複雜問題時提高效率,並能夠更靈活地應對各種不同的開發需求,是每個 JavaScript 開發者都應該熟練運用的工具。