Hoisting: the two phases of execution what JavaScript does before it runs the first line

BG
Code
scanning
    Evaluating the expression
    Console
    1Creation (creation phase)
    2Execution (execution phase)
    What each name gets in phase 1
    var x
    undefined
    function f() {...}
    the whole function
    let / const / class
    uninitialisedTDZ