var foo = 1
{
console.log('before declare line in block : ' + foo) // 1
var foo = 2
console.log('after declare line in bock : ' + foo) // 2
}
호이스팅하면 첫 console.log에서 undefined 나와야 되는거 아님? 왜 1나옴?
let foo = 1
{
console.log('before declare line in block : ' + foo) // // Uncaught ReferenceError: access before initialization
let foo = 2
console.log('after declare line in bock : ' + foo) // can't reach here
}
이건 let, const
머리 아프니까 걍 var 말고 let, const 쓰면 되지?
그리고 호이스팅으로 얻는 이점이 뭐임? 헷갈리기만 하고 좋은점이 뭔지 모르겠는데
뉴비들 호이스팅 왤케 좋아함
노마드코더같은데서 언급했냐?
걍 javascript 혼자 공부중임. 다른 언어랑 좀 차이나는 부분이라 궁금함
호이스팅이랑 관련 없이 var이 함수 스코핑이라 그런거엿네 ㅋㅋ ㅈㅅ 하여튼 var이 문제네