Understanding JavaScript Hoisting and Its Implications for Frontend Engineers — Programming Keynou