Почему подъем не работает в выражениях функций

// As per MDN
"Conceptually, for example, a strict definition of hoisting suggests that 
variable and function declarations are physically moved to the top of 
your code, but this is not in fact what happens. Instead, the variable 
and function declarations are put into memory during the compile phase, 
but stay exactly where you typed them in your code."

// Explanation
Therefore, in a function expression, actual function is a value assigned 
to a named variable. So this named variable is hoisted. Even if you 
have a named function assigned, it still will not be hoisted as it is 
not a declaration and will be created later.
  
  
Smiling Starling