What is hoisting?
Hoisting is a relatively new concept, which you will not find anything about in documentation prior to ES6.
According to MDN:
Hoisting is a term you will not find used in any normative specification prose prior to ECMAScript® 2015 Language Specification. Hoisting was thought up as a general way of thinking about how execution contexts (specifically the…