brunch

You can make anything
by writing

C.S.Lewis

by 별똥별 shooting star Aug 09. 2023

자바스크립트 var, let, const키워드의 차이1

출퇴근길에 공부하는 자바스크립트1

변수 선언이란 변수의 이름과 값을 저장하기 위해 확보된 메모리 공간을 연결해 값을 저장할 수 있도록 준비하는 것이다.

JavaScript에서는 변수를 선언하기 위해서 var, let, const를 사용한다. 여기에서 let과 const는 ES6에서 추가된 키워드이고 var는 처음부터 사용하던 키워드이다. 가장 처음에 사용된 만큼 var는 큰 단점을 가지고 있다.


var는 함수 레벨 스코프(function level scope)를 지원하며 블록 레벨 스코프(block level scope)를 지원하지 않는다. 즉, 함수 내에서 선언된 변수는 함수 내에서만 유효하며 외부에서는 참조가 불가하지만, {}과 같은 코드블록에서 선언된 함수는 어디에서든 참조가 가능하다. 그래서 의도치 않게 전역변수가 선언된다는 단점이 있다. 이러한 단점을 극복하기 위해서 나온 것이 let이다.


let은 var에서는 지원하지 않는 블록 레벨 스코프(block level scope)를 지원한다. 즉, let으로 선언된 변수는 선언된 블록인 중괄호({})내에서만 존재하며 블록 외부에서는 접근할 수 없다. 따라서 더욱 정밀한 변수 스코프 제어가 가능해졌다.


const는 상수를 선언하는 데 사용된다. 이는 한 번 선언된 후에 재할당을 통해서 값을 변경할 수 없다는 것이다. 추가적으로 let과 마찬가지로 블록 레벨 스코프(block level scope)를 지원한다.

매거진의 이전글 자바스크립트, 세미콜론(;)을 꼭 적어야 할까?
브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari