Metaprogramming in JavaScript
summary
Shows concrete metaprogramming techniques in JavaScript: adding/extending properties, using proxies and forwarding versus delegation, and a small extend/rename library as proof of concept. Explains setPrototype, noSuchMethod, closures and partial evaluation, and demonstrates runtime-built artifacts (a dynamic balancer and a debounce) that operate on real objects using before/after/around interception to decorate methods.
AI-written summary · about
chapters (29)
- 0:00Metaprogramming in JS
- 1:25Programming vs metaprogramming
- 2:51Compositive vs generative
- 5:45Adaptation and transformation
- 7:10OOP and functional fusion
- 9:16Object flexibility in JS
- 11:01Dynamic binding in JS
- 13:07Inheritance as delegation
- 14:31Polymorphism and protocols
- 15:58Dynamic context with closures
- 17:23Reflection and error handling
- 18:31Higher-order programming
- 20:19Metaprogram as transformation
- 21:41Modifying objects
- 22:47Prototype extension
- 24:17Method interception
- 26:44Delegation vs forwarding
- 29:15Critique of classic patterns
- 30:43Metaprogramming examples
- 32:09Observer pattern
- 33:55Interface simulation
- 35:39Dynamic load balancing
- 37:05Encapsulation
- 39:11Design patterns
- 40:39Architectural flexibility
- 42:09Aspect-oriented programming
- 43:33Maintainability issues
- 44:59Subjective programming
- 46:26Metaprogramming paradigms
related talks
54mMetaProgramming with JavaScript
26mJavaScript Metaprogramming - ES6 Proxy Use and Abuse
52mJavaScript Metaprogramming - ES6 Proxy Use and Abuse
22mMetaprogramming, ES6 Proxy
24mJavaScript metaprogramming with ES2015 Proxy
36mMetaprogramming - A journey into ES6
01h 52mPro.Prototypes Workshop
11mAnything is possible! Unlocking the Nightmarish Power of JavaScript..
