- temporal dead zone은 let과 같이 소개되는 개념임
- temporal dead zone이 없을 때는
- hoisting은 JS가 프로그램 실행 전 어딘가로 이동시키는거임(무조건 위에서 아래로 실행되지않음)
- 이렇게 코드를 작성하면 JS 내부에서 hoisting 처리를 하는데 var을 제일 위로 올려쥼
- hoisted는 그들이 제일 위로 올라가는 걸 의미함
- 위 멍청한 코드는 애플리케이션 실행시 error 처리를 하지 않음
- 그래서 let을 써야함
- 위 코드에서 var 대신 let을 사용하면 error을 발생시켜서 변수가 정의되지 않았다고 에러를 발생시키고, hoisting 처리를 하지 않음
- 정의하지 않았는데 let에 접근하면 error가 나게 되고 deadzone이 됨. (멍청한 짓을 엄격하게 막아줌) = let의 temporal deadzone
- var을 사용하게 되면 JS는 그대로 실행되고, undefined만 출력함
'Front-End > ES6' 카테고리의 다른 글
[ES6] Block scope (0) | 2020.08.26 |
---|