जेनरेटर्स
जावास्क्रिप्ट जेनरेटर फंक्शन्स और जेनरेटर ऑब्जेक्ट्स का समर्थन करता है। एक जेनरेटर फंक्शन सामान्य फंक्शन के समान होता है, लेकिन जब भी इसे मान उत्पन्न करने की आवश्यकता होती है, तो यह 'return' के बजाय 'yield' कीवर्ड का उपयोग करता है। 'yield' कीवर्ड फंक्शन निष्पादन को रोक देता है और मान को कॉलर को वापस भेज देता है। इसमें वह क्षमता होती है कि यह जहां से छोड़ा था वहां से कार्यक्षमता फिर से शुरू कर सकता है।
सिंटैक्स
function* generator(){ yield 1; yield 2; }
उदाहरण
निम्नलिखित उदाहरण में, जेनरेटर फंक्शन का उपयोग करके, प्राकृतिक संख्याएं 10, 9 और 8 प्रिंट की गईं। प्रत्येक संख्या को व्यक्तिगत रूप से प्रिंट करने के बजाय हम फोर लूप चला सकते हैं और जो भी संख्याएं चाहिए उन्हें प्रिंट कर सकते हैं।
<html> <body> <script> function * number() { var num = 10; while (true) { yield num--; } } var gen = number(); document.write(gen.next().value); document.write("</br>"); document.write(gen.next().value); document.write("</br>"); document.write(gen.next().value); </script> </body> </html>
आउटपुट
10 9 8