: 자바스크립트의 변수 선언은 다른 언어처럼 타입에 따라 달리 선언하지 않는다. (var 하나로 선언이 가능하다.)
다만 ES6 이후 재사용 여부에 따라 달리 선언하고자 let
과 const
가 등장했다.
let
과 const
의 차이점은 reassigned(재할당)
의 여부이다.
결과부터 얘기하자면 const
를 기본으로 사용하고 재할당이 필요할 경우에만 let
을 사용하도록 한다.
var name = 'ash'
console.log(name) // output: ash
var name = 'gyon'
console.log(name) // output: gyon
var
은 변수의 재할당, 재선언
이 모두 가능하다. let name = 'ash'
console.log(name) // output: ash
let name = 'gyon'
console.log(name)
// output: Uncaught SyntaxError: Identifier 'name' has already been declared
name = 'velog'
console.log(name) // output: velog
let
은 위와 같이 재할당
은 가능하다. 재선언은 불가능하다. const name = 'ash'
console.log(name) // output : ash
const name = 'gyon'
console.log(name)
// output : Uncaught SyntaxError: Identifier 'name' has already been declared
name = 'react'
console.log(name)
// output : Uncaught TypeError: Assignment to constant variable.
const
는 위와 같이 재할당, 재선언
이 모두 불가능하다.