[모던 JavaScript] let과 const

sunny·2022년 6월 17일
0

JavaScript

목록 보기
4/7

let과 const

💡 let과 const는 ES2015(ES6)에 추가된 변수 선언 키워드
❕ hoisting 규칙이 없고, block scoping을 지원한다.
❕ 따라서 var보다 훨씬 예측 가능한 코드를 짤 수 있게 해준다.

1. let은 레퍼런스가 바뀔 수 있고, const는 바뀔 수 없다❗

let x = 1
x = 2 // OK

const y = 1
y = 2 // Uncaught TypeError

2. var와는 달리 let과 const는 같은 scope 내에서 같은 변수를 두 번 이상 정의할 수 없다❗

var x = 1
var x = 2

let x = 1
let x = 2 
// Uncaught SyntaxError: Identifier 'x' has already been declared

3. var와는 달리 let과 const는 변수를 정의하기 전에는 사용할 수 없다❗

console.log(x) // undefined
var x = 0
console.log(x) 
// ReferenceError: Cannot access 'x' before initialization
const x = 0

4. let과 const 모두 같은 scoping rule을 따른다❗

var x = 1
{
	var x= 2
    console.log(x) // 2
}
console.log(x) // 2
const x = 1
{
	const x= 2
    console.log(x) // 2
}
console.log(x) // 1

💡 정리 💡

let과 const의 예측 가능성과 유지보수성이 var보다 훨씬 뛰어나다
가능하다면 const만 쓰고, 필요한 경우에 한해 let을 쓰고, var는 안 쓰는 게^^

0개의 댓글