javascript

let과 var의 차이점 / 호이스팅? (hoisting) -1분정리-

노란배추잎 2024. 7. 21. 19:04

 

코드 안에 있는 변수들을 코드의 최상단으로 올리는 것을 호이스팅이라고 말한다. 즉 다시 말해서 var, let 변수와 함수의 선언들이 자동적으로 제일 위로 올라가는 것을 호이스팅이라고 말한다. 

 

var변수는 javscript 언어에서 오래된 변수이다. 하지만 다양한 문제가 있어 업데이트를 통해서 let이라는 변수도 사용할 수 있게 되었다. var변수는 어떤 문제가 있는지 자세하게 살펴보자 

 

var변수는 전역변수의 개념이 확실하지가 않다. var의 경우 함수만 지역 변수로 호이스팅이 되고 나머지는 전역변수로 호이스팅(hoisting)을 하게 된다. 또한 같은 변수를 동시에 2회 이상 선언을 해도 오류가 발생하지 않는다. 따라서 var 변수의 단점을 보완하기 위해서 let이라는 변수를 만들게 된다.

 

let도 호이스팅이 된다. 하지만 let의 경우 Temporal Death Zone (TDZ)이라는 개념을 사용하여 선언문이 나오기 전까지 접근할 수 없게 만들어 var 단점을 보완하였다. 

 

'javascript' 카테고리의 다른 글

콜백함수/callback 함수 -1분정리-  (0) 2024.07.21