Now this is as deep as I want to dive into this.
As I mentioned, all these features you learned about in this module are pretty niche - symbols, iterators,
generators, the reflect API and the proxy API all have their use cases but the use cases are pretty
advanced and often found in scenarios where you are writing code which is not directly impacting end
users of an application,
so people visiting the web site but instead other developers that might depend on your code because you
are authoring a third-party library, because you are working in a team or you're writing your own reusable
code which you maybe want to reuse in different projects you're working on. Then these features can help
you control how the code can be used, how it behaves, how certain things are locked down or controlled
behind the scenes. You can make your objects loopable with the iterator, symbol and generators and iterators
and with symbols in general, you also have a feature that allows you to have properties and objects which
are not that easy to access and which most importantly are not that easy to change because you need
the exact same symbol to access it.
So with these meta features, with these advanced features, you are now really fully prepared to become
an expert Javascript developer and dive into all the depths of the language and whenever you encounter
these features anywhere, you know what they're doing and how you can work with them.