JavaScript Objects and Their Friends

JavaScript objects under the hood: prototypes, key gotchas, Map vs Object, Symbols (Symbol.for and Symbol.iterator) and iteration protocol