- 변수 재선언 가능
- 변수 재할당 가능
- 유연성은 높으나, 코드가 많아질 수록 변수가 어디에서 어떻게 사용되는지 파악하기 어려움
- 값이 바뀔 우려가 있음
var name = 'horang'
console.log(name)
var name = 'javascript'
console.log(name) // 위에 'horang'으로 var name 선언했음에도 재선언 가능함
- 변수 재선언 불가능
- 변수 재할당 가능
<변수 재선언 불가능>
let name = 'horang'
console.log(name)
let name = 'javascript'
console.log(name)
// 위에 var name을 'horang'으로 설정했기에 변수 재선언 불가능
<변수 재할당 가능>
let name = 'horang'
console.log(name)
let name = 'javascript'
console.log(name)
// Uncaught SyntaxError : 변수 재선언 불가능
name = 'react'
console.log(name) // 변수 재할당 가능
- 변수 재선언 불가능
- 변수 재할당 불가능
<변수 재선언 불가능>
const name = 'horang'
console.log(name)
const name = 'javascript'
console.log(name)
// Uncaught SyntaxError: 변수 재선언 불가능
<변수 재할당 불가능>
name = 'react'
console.log(name)
//Uncaught TypeError: 변수 재할당 불가능
참고: https://velog.io/@bathingape/JavaScript-var-let-const-%EC%B0%A8%EC%9D%B4%EC%A0%90