Hoisting in JavaScript

Hoisting is a principle of JavaScript by which we are able to access variables and function even before they are explicitly declared in the code. It is a behaviour where variables and functions appear to have been moved to the top of their containing scope during the...