코딩배우기

[코딩배우기] var / let / const 비교 차이

탁이 2019. 12. 31. 16:48

Variables declared with the let statement, constants declared with const will be block-scoped.

전역

  • 최상위에 변수와 함수를 놓으면, 어디서나 액세스 할 수있는 전역이 됩니다.
  • 다른 JS 파일에 썼다고해도, 마찬가지로 글로벌스코프(전역) 취급됩니다.

 

함수 범위

  • function 안에 쓰여진 변수 · 함수는 내부에서만 변경 참조 할 수 있습니다.
  • 외부에서 참조 할 수 없으므로 변경에 강한 모듈을 만들수 있습니다.

 

var

  • Rollup 어디서나 선언 가능
    • JavaScript는 함수내 어디서나 var 선언을 쓸 수 있습니다.
    • 함수의 어디에서 선언해도, 선두에 정의 된 것으로 간주합니다.
    • 시작 부분에서 사용하고 싶은 변수는 모두 정의하는 것이 정석.
  • 함수 범위
    • 함수 내 어느 곳에서나 볼 수

 

let

  • 블록 범위
  • 지금까지 var 로 쓴 것은 let로 대체 
  • if, for 등의 {} 내의 블록에서만 사용되는 블록 범위를 만들 수 있으므로 범위를 좁게 할 수 있기 위해 영향 범위를 좁혀진다
  • 변수의 롭업은 기존대로 일어납니다.

 

const

  • 다시 할당이 불가능한 변수 (즉 상수 Constants)
  • 다시 할당하려고하면 오류
  • let과 같은 블록 범위
  • 대부분은 중복 지정은 필요 없으므로 const를 사용
  • const를 사용하여두면 값이 변경 될 수 없기 때문에, 자연히 코드의 가독성도 올라갑니다.
  • for 반복자 같은 재 할당이 필요한 곳에서만 let을 사용

 

정리

let과 var의 구분

var는 과거의 유산ㅠ 호환성을 위해 var 를 쓰고 있는 것에 지나지 않기 때문에, 사용하지 않는 것이 가장 좋습니다.

대부분은 중복 지정은 필요 없으므로 const를 사용

변하지 않는 값이라면 const 를 쓰면 됩니다.

 

  • const를 사용할 경우는 우선 const를 사용
  • 그 이외에서는 let을 사용

라는 느낌입니다.