The Curious Case of Undeclared Global Variables in Javascript
How does your usual variable declaration look like? Like this, right? const INTEREST_RATE = 20; // global const declaration and initialization var principleAmount; // global var declaration function calculateInterest() { principleAmount = 10000; // global var value assignment var timePeriod = 1; // local function scoped var declaration and initialization return principleAmount*INTEREST_RATE*timePeriod/100; } Do you know the difference between the above and below code snippet? const INTEREST_RATE = 20; // global const declaration and initialization var principleAmount; // global var declaration function calculateInterest() { principleAmount = 10000; // global var value assignment timePeriod = 1; // <-- GLOBAL variable initialization without declaration return principleAmount*INTEREST_RATE*timePeriod/100; } Did you notice that var is missing behind timePeriod?...