JavaScript: The Misunderstood Parts
Closure scope, context, protos and prototypes are common confusing topics when jumping into a rich JavaScript environment. In this workshop, not only will these topics be covered, but how JavaScript sets up data in memory will also be discussed. Join for a hands on approach to breaking JavaScript down to its core functionality.
Outline/Structure of the Workshop
- Types, Operators and Primitives
- Memory address allocation - A visual
- Pointers vs Values
- Comparisons
- Primitive vs Object comparisons
- == vs === state machine
- Functions and Closures
- Call objects - A visual
- Pass by reference vs pass by value
- Simulating private variables
- Gotchas
- Context
- [[CALL]], [[DOT]] and [[DOTCALL]] operators
- __proto__ and prototype setup - A visual
- Prototypes
- Shared properties
- Setting up the __proto__ chain
- The "new" operator
- Object.create
- The "instanceof" operator
Learning Outcome
A deep understanding of core fundamentals with respect to how JavaScript functions in memory.
Target Audience
Seasoned or new UI developers looking to sharpen their understanding of JavaScript and how it functions in memory.
Links
Prior talks:
Realtime for Reals @FrontPorchIO 2014
Understanding the Misunderstood - Co-presenter with Justin Meyer @JSConf 2013