키워드 | 구분 | 선언 위치 | 재선언 |
var | 변수 | 전역 스코프 | 가능 |
let | 변수 | 해당 스코프 | 불가능 |
const | 상수 | 해당 스코프 | 불가능 |
변수와 상수, 스코프와 재선언이 무엇인지를 안다면 이를 구분해서 사용할 수 있습니다.
변수와 상수의 구분
변수는 변할 수 있는 값, 상수는 변하지 않는 값 을 의미합니다.

상수는 선언 이후 값 변경이 불가하기 때문에 반드시 선언시 값을 넣어줘야 합니다.
ECMAScript5 까지는 var 키워드를 사용한 변수뿐이었지만, 6부터 성능향상의 이유로 상수라는 개념이 도입되었습니다.
상수는 '변한다'라는 속성과 관련된 처리를 할 필요가 없기때문에 성능이 향상되는 것이죠.
그럼 어떤 것들을 상수로 사용해야 하는가?
당연한 것이지만 "변하지 않는 것"을 상수로 사용하면 됩니다.
초보자들을 위한 방법을 말하자면 우선, 모두 상수로 선언 해버리고, 오류가 발새하는 부분만 변수( let )으로 변경하며 사용하다 보면 파악할 수 있게 될 것 입니다.
var 키워드와 let 키워드로 선언한 변수의 차이
변수의 유효범위를 스코프 라고 합니다.
보통 프로그래밍 언어에서는 "특정 스코프 안에서 선언한 변수는 해당 스코프 안에서만 사용할 수 있다"라는 규칙이 있습니다.

하지만 js의 var 키워드는 전역 스코프 위치에 변수를 선언하는 키워드이기 때문에 아래와 같이 사용 가능합니다.
스코프 내부에 선언한 변수는 스코프를 벗어날 때 제거해야 메모리 등 시스템 자원을 적절하게 이용 가능합니다.
하지만 var 키워드는 그렇지 못합니다.

반면 let 키워드는 자원을 적절히 이용할 수 있게 특정 스코프 내부에서만 변수를 사용할 수 있도록 합니다.
위의 예시에서 var이 아닌 let이라면 오류가 나는 이유입니다.
'Js > Javascript' 카테고리의 다른 글
[JS] forEach, map, filter, reduce (0) | 2023.02.22 |
---|---|
Promise 사용법 (resolve,reject) &promise.race(),all() (0) | 2023.02.22 |
고급 예외 처리 try, catch finally (0) | 2021.07.27 |