Good resource on JS iterators

Hey, I’m currently going through YDKJS section on iterators, and I am having a really hard time with it. I understand the general idea, but there’s plenty of stuff that I can’t fully grasp, especially when it comes to creating your own iterator. Could someone recommend some good article or something on this particular subject?

It’s unsettling how often I forget about that resource ;/ Anyway, with the help of MDN and after playing for quite a while with console, I think I got the basic idea. I managed to write some iterators for objects, and they worked nicely while iterating manually, using for .. of loop and rest operator.

There is one thing that I don’t quite get yet. In pretty much every example of custom iterator in YDKJS an iterator is an iterable at the same time (via [Symbol.iterator]() {return this;} magic). What exactly is the purpose of this? Just so I can exhaust an iterator itself with a for.. of loop?