What do you need to know to be able to follow along?
This talk will demystify a very introductory topic in order to explore how the language itself functions in an abstract sense. Starting with the prototype chain and property descriptors, I'll dive deeper into the Object constructor and the more recent introduction of the Reflect API. I also plan to cover how the JS object model has changed over time (for example, from assigning functions to an object's prototype in ES3, to using getters/setters in ES5, to the class constructor to attach a function to an object in ES6). In my opinion, the history of how the language has changed is just as interesting as the language itself!
The reason that I think this bears so much relevance today is because of the new proposals that TC39 is in the process of deliberating. Specifically, the concepts presented in this talk tie into decorators and the problem that they present to framework authors. Understanding the JS object model and prototype chain are crucial in order to understand what these proposals are actually trying to change about the language.
Vaidehi Joshi is an engineer at Tilde, in Portland, Oregon, where she works on Skylight. She enjoys building and breaking code, but loves creating empathetic engineering teams a whole lot more. She is the creator of basecs, a weekly writing series that explored the fundamentals of computer science, and is co-host of the Base.cs Podcast, and a producer of the BaseCS video series. She's currently at work on a new series on the basics of distributed systems, called baseds.