본문 바로가기

카테고리 없음

var가 안쓰이고 let의 탄생배경, 호이스팅이 무엇인가

첫 게시물이라 어색하지만 글을쓴다.

자바 스크립트 공부하고 유튜브에서 '코딩하는누나' 채널을 보던중 let의 탄생배경에 관한 영상을 봤다,

오늘 공부했던 내용과 일치하면서 강의 들을때 지나쳤던 호이스팅에 관한 내용도 있었다.

우선 내용부터 말하자면 호이스팅이란 javascript에서 미리 작성했던 코드의 관한 내용들을 데이터에 저장했다가 코드 내용들을 불러오는 기능인데 var에서는 같은 변수를 선언해도 값이 출력됨, 지역변수과 전역변수의 문제점,

ex) console.log(a)

ex) let a = 1

ex) console.log(a)와 같은 코드에서 첫번째줄의 결과값이 undefined로 도출된다와 같은 에러가 있었다는 것이다.

이를 해결하기 위해 es6에서 나온것이 let이고 위에서같은 말도 안되는 선언들은 에러로 치환한다.

그럼 이런 질문을 할 수 있다. let에서는 호이스팅을 하지만 TDZ(Temporal Dead Zone)에 데이터를 저장했다가 아직 선언되지 않은 변수들에서는 값을 도출하지않아 문제점을 해결 할 수 있게되었다.