https://www.howdy-mj.me/javascript/var-let-const
var, let, const의 차이 ⏤ 변수 선언 및 할당, 호이스팅, 스코프
자바스크립트에서 var로 변수 선언이 가능했는데, 왜 const와 let이 나왔으며 이 둘의 사용을 권장할까? 이를 정확하게 알기 위해서는, 변수의 선언 및 할당 과정, 호이스팅, 스코프를 알아야한다. #
howdy-blog-v2.vercel.app
var 키워드의 문제점 3가지
- 변수 중복 선언이 가능하여, 예기치 못한 값을 반환할 수 있다.
- 함수 레벨 스코프로 인해 함수 외부에서 선언한 변수는 모두 전역 변수로 된다.
- 변수 선언문 이전에 변수를 참조하면 언제나 undefined를 반환한다.
let 키워드
- 변수의 중복 선언 불가, 재할당 가능.
let name = 'kmj'
console.log(name) // output: kmj
let name = 'howdy' // output: Uncaught SyntaxError: Identifier 'name' has already been declared
name = 'howdy'
console.log(name) // output: howdy
const
- 선언과 초기화를 동시에 진행해야 한다.
const name; // output: Uncaught SyntaxError: Missing initializer in const declaration
const name = 'kmj'
- const 도 let 과 마찬가지로 재선언이 불가능하다.
- 재할당 불가, 재할당의 경우, 원시 값은 불가능하지만, 객체는 가능하다.
- const 키워드는 재할당을 금지할 뿐, '불변'을 의미하지는 않는다.
// 원시값의 재할당
const name = 'kmj'
name = 'howdy' // output: Uncaught TypeError: Assignment to constant variable.
// 객체의 재할당
const name = {
eng: 'kmj',
}
name.eng = 'howdy'
console.log(name) // output: { eng: "howdy" }
'언어 > JavaScript' 카테고리의 다른 글
변수(Variable) 와 상수(Constant) (2) | 2022.10.11 |
---|---|
JavaScript 입문 console.log('Hello, World'); (0) | 2022.10.11 |