# Chapter 12. Iterators and Generators ## 12.1 How Iterators Work ## 12.2 Implementing Iterable Objects ### 12.2.1 “Closing” an Iterator: The Return Method ## 12.3 Generators ### 12.3.1 Generator Examples ### 12.3.2 yield* and Recursive Generators ## 12.4 Advanced Generator Features ### 12.4.1 The Return Value of a Generator Function ### 12.4.2 The Value of a yield Expression ### 12.4.3 The return() and throw() Methods of a Generator ### 12.4.4 A Final Note About Generators