호이스팅에 의해 선언부가 최상위로 올라갑니다. 그래서 num이라는 변수를 출력할 때는 값이 없을 뿐, 선언은 된 상태라서 오류가 발생하지 않습니다.
그런데 let 키워드는 호이스팅이 일어나지 않습니다. 그래서 같은 코드를 작성하고 실행하면 num 변수가 정의되지 않았다는 오류가 발생합니다.
console.log(num);
let num = 10;
실행결과
Uncaught ReferenceError: num is not defined
호이스팅에 의해 선언부가 최상위로 올라갑니다. 그래서 num이라는 변수를 출력할 때는 값이 없을 뿐, 선언은 된 상태라서 오류가 발생하지 않습니다.
그런데 let 키워드는 호이스팅이 일어나지 않습니다. 그래서 같은 코드를 작성하고 실행하면 num 변수가 정의되지 않았다는 오류가 발생합니다.
console.log(num);
let num = 10;
실행결과
Uncaught ReferenceError: num is not defined