Understanding Variables, Scope, and Hoisting in JavaScript | Hacker News Reader