수업 내용/[JavaScript] 자바스크립트
var, const, let 의 차이
프롯
2023. 8. 3. 12:00
프로젝트 진행 중 팀원이 짠 코드를 보다 const, let 등의 변수 선언문을 보게 되었다.
나는 기본적으로 var 만 주로 사용했는데 구분해서 사용되어진 코드를 보고 차이점은 정리를 해두어야 겠다 싶었다.
차이를 간단하게 설명하면
전역변수로 선언할 수 있는가,
재선언되거나 업데이트 될 수 있는가,
로 생각할 수 있다.
var
var은 전역 볌위로 선언할 수 있다.
즉, 함수 외부에서 선언시 함수 내 외부에서 전부 사용이 가능하다. (함수 내부에서 선언시 그 함수 내에서만 사용 가능하다.)
또한 재선언과 업데이트가 자유롭다.
사용하기엔 가장 편하지만 생각 없이 쓰다보면 뜻밖의 결과가 출력될수도 있다. (오류로 보여주지 않기때문에 위험하다.)
변수 선언이 맨 위로 올라오는 매커니즘을 갖는다. (선언시 넣은 값은 올라오지 않고, 변수는 초기화 된다.)
Let
Let은 블럭 단위로 변수를 선언한다.
즉, var 처럼 전역 단위로 변수를 선언하면 함수 안에서는 사용이 불가능하다.
선언된 변수의 업데이트는 가능하지만,
같은 이름으로 재선언은 불가능하다. (범위 밖으로 나가면 재선언 가능하다.)
변수 선언이 맨 위로 올라오지만 초기화 되지 않는다. (출력시 '정의되지 않음' 오류가 뜬다.)
Const
Const 도 블럭 단위로 변수를 선언한다.
업데이트와 재선언 모두 불가능하다. (가장 강력한 제약조건을 가지고 있는 셈이다.)
다만, 요소값의 변경은 가능하다.
Let 과 마찬가지로 변수 선언이 맨 위로 올라오지만 초기화 되지 않는다.