{}
let과 const로 선언된 변수와 상수는 { }로 감싸진 범위의 블록 내에서만 사용할 수 있습니다. 변수와 상수가 유효한 범위를 스코프scope라고 하며, { }로 감싸진 유효 범위를 블록 스코프Block Scope라고 합니다.
다음의 상수 a는 블록 스코프 내에서 사용되고 있으므로 모든 console.log( )에 20이라는 결과 출력됩니다. 블록 외부에서 선언한 변수와 상수도 내부에서 사용할 수 있습니다.
// 스코프
{
const a = 20;
console.log(a);
{
console.log(a);
}
}
// 스코프
{
{
const a = 20;
}
// 스코프를 벗어나므로 에러가 발생
console.log(a);
}
const a = 20;
{
console.log(a);
}