This document provides an overview of effective JavaScript techniques including:
- Using closures to reduce typing, clean up code, provide privacy and sometimes improve performance.
- Building objects with closures and avoiding unnecessary methods like bind in asynchronous operations.
- Using object literals and shortcuts to make objects more inspectable and avoid unnecessary property accesses.
- Tips for interacting with the DOM like avoiding closures that reference nodes and using references over lookups.
- New features in ECMAScript 5 like Function.prototype.bind and getters/setters.
- Optimizations in v8 like avoiding delete, using object literals, and not altering objects after creation.