[Javascript] var, let, const 변수 특징

2020. 11. 30. 16:29개발 관련

Javascript의 변수 차이

 

 

var

 

  1. var로 변수 선언 시 var 키워드 생략 가능( num=1 가능)
  2. var로 선언 후 중복 선언 가능( var num    var num 가능)
  3. 변수가 선언 안되었는데 참조 가능(undefined로 나옴) - 변수 호이스팅
  4. function-level-scope, 함수 블록 내에서 var 선언 시, scope는 해당 function이다.(함수 외부 선언 시 모두 전역변수로 취급)

 


 

let - ES6에서 const와 함께 등장

 

  1. block-level-scope ( {    }   로 scope 조절)
  2. 변수 중복 선언 불가 - 재선언 시error 뜸( let num=1    let num=2     -> error)
  3. 호이스팅 불가 - undefined가 아닌 error로 뜸
  4. 선언 후 재할당 가능(let num=1   num=2)

 

const - ES6부터 등장

 

  1. block-level-scope ( {    }   로 scope 조절)
  2. 변수 중복 선언 불가 - 재선언 시error 뜸( let num=1    let num=2     -> error)
  3. 호이스팅 불가 - undefined가 아닌 error로 뜸
  4. 선언 후 재할당 불가(상수)

 


참고 : happycording.tistory.com/entry/let-const-%EB%9E%80-%EC%99%9C-%EC%8D%A8%EC%95%BC%EB%A7%8C-%ED%95%98%EB%8A%94%EA%B0%80-ES6

 

JavaScript let, const 란? 그리고 왜 써야만 하는가? (ES6)

ES6 이전에는 변수를 선언하는 방법은 var 를 이용하는 방법 밖에 없었습니다. 하지만 var 에 대한 여러가지 문제들로 인해 고통을 너무 많이 받았습니다. 그 동안 고통받았던 문제들에 대해 이야

happycording.tistory.com