I learned about generator functions in JS. They can be paused and resumed at any moment. There was an example of a continuously running function which reminded me about lazy evaluation in Haskell. The function only gives you a value when you ask for it.
Fun fact I learned from Kevin Cunningham: If you put the word "box" in a GitHub repo address before the '.com'. It launches you into a CodeSandbox session with the code of that repo ready for you to play around with.
I learned about Iterators and Iterables in JS. The for..of loop already uses them under the hood and the 'Symbol.iterator' is a "well-known" symbol in JS that's used to make an iterator out of an object.