안녕하십니까 선생님
자바스크립트를 공부하면서 이해가 가지 않는 부분이 있어서 질문 드리게 되었습니다.
let v1 = 1;
var v2 = 2;
{
function func() {
console.log(v1 + v2);
}
func = function() {
console.log(v1*v2);
}
function func() {
console.log(v1+v2);
}
let v1 = 3;
var v2 = 4;
}
function func(){
console.log(v2-v1);
}
func();
여기에서 func();을 실행하면 호이스팅 되어 v1 * v2의 값이 나오고 블록안의 맨밑에 function func()의 v1+v2를 주석처리하면 왜 곱셈이 안나오고 블록안에서의 맨위에있는 v1+v2의 값이 나오는지 궁금합니다.
block scope는 본 강의 영역에서 벗어난 내용입니다.
sloppy mode에서는 block scope 내에서 함수 선언시 정확한 결과를 보장하지 않습니다.
답글