let과 const

100pearlcent·2021년 8월 21일
0

JavaScript

목록 보기
4/22

let weather = 'rainy';
let day = 'Sunday';

const today = `${weather} ${day}` // 'rainy Sunday'

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

let vs const

let x = 1;
x = 2;

const y = 1;
y = 2 // Uncaught TypeError: Assignmet to constant variable

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

let, const vs var

var x = 1;
var x = 2; // OK

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

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

console.log(x); // undefined
var x = 0;

console.log(y); // ReferenceError: Cannot access 'y' before initialization
const y = 0;

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

Block Scoping

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

const y = 1;
{
	const y = 2;
  	console.log(y); // 2
}
console.log(y); // 1

let과 const는 같은 scoping rule을 따른다.

let, const vs var 결론

👉 let과 const의 예측 가능성과 유지보수성이 var보다 뛰어나다

👉 가능하다면 const만 쓰고, 필요한 경우에 한해 let을 쓰고, var는 쓰지 않는다

0개의 댓글