호이스팅(Hoisting)
개념은 별로 어려울게 없는 내용이니까, 기억해두면 좋을만한 부분을 기록해둔다.
var, let, const
let
, const
은 호이스팅되지 않는다.
console.log(v); // => undefined
var v = "var";
console.log(l); // => Uncaught ReferenceError: l is not defined.
let l = "let"
console.log(c); // => Uncaught ReferenceError: c is not defined.
const c = "const"
function
var
로 선언한 function(){}
과 function name(){}
은 다르게 호이스팅된다.
console.log(fn1) // => undefined
console.log(fn2) // => 'fn2'
var fn1 = function(){
return 'fn1';
}
function fn2(){
return 'fn2';
}