Demystifying JavaScript: The many faces of `this` | Hacker News Reader