JavaScript Variable Scope and Hoisting Explained | Hacker News Reader