프로젝트

[JavaScript] var, let, const 차이

딜레이레이 2021. 8. 16. 01:46

선언

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