1. 블록 바인딩

같은 스코프 내에서 재정의 금지

var count = 30;

// error
let count = 40;
var count = 30;

// not error
if (condition) {
	let count = 40;
}

if 문의 block을 생략하는 경우 error!

TDZ

임시 접근 불가 구역 (Temporal Dead Zone, TDZ)

if (condition) {
	// error
	console.log(typeof value);

	let value = 'blue';
}
// not error
console.log(typeof value);

if (condition) {
	let value = 'blue';
}

간단하게 block 스코프의 시작부터 변수가 처음 선언되는 지점 까지이다.

3. 함수