선언
var : 중복 선언이 가능
var a = 10
var a = 20
이래도 에러 안 남. 마지막에 할당한 값이 변수에 저장됨
단, 초기화 없이 선언만 한 경우에는 선언문 자체가 무시됨(에러는 발생 X)
const, let : 중복 선언 불가
이미 선언한 변수를 또 선언할 경우, 에러가 발생
var에 비해 코드의 안정성 높여줌
재할당 가능 여부
var, let : 값의 재할당 가능
const : 불가능
스코프
- var : 함수 레벨 스코프(function-level scope)
- 함수 내부에 선언된 변수만 지역변수. 나머지는 모두 전역변수
- let, const : 블록 레벨 스코프(block-level scope)
- 함수 내부는 물론, if문이나 for문 등의 코드블럭{ … }에서 선언된 변수도 지역변수
결론
값을 재할당하는 경우가 아니라면 const 사용 권장
var은 사용 권장하지 않음
[참고]
https://velog.io/@bathingape/JavaScript-var-let-const-%EC%B0%A8%EC%9D%B4%EC%A0%90
'프로젝트' 카테고리의 다른 글
Cannot read properties of undefined (reading 'map') 오류 (0) | 2023.08.30 |
---|---|
e.preventdefault(); (0) | 2023.05.21 |