Block Scope
{ }
- 중괄호 안쪽에서 실행되는 코드가 Block Scope를 갖는다고 말함.
keyword var, let, const
var numGlobal = 1
const numConst = 2
let num = 3
{
var numGlobal = 10
const numConst = 20
let num = 30
console.log(numGlobal) // 10
console.log(numConst) // 20
console.log(num) // 30
}
console.log(numGlobal) // 10
console.log(numConst) // 2
console.log(num) // 3
var a=1
로 전역 변수 선언let a=1
로 Block Scope를 갖는 변수 선언const a=1
로 Block Scope를 갖는 상수 선언
declaration
let a=1
let a=2 // 오류
- 같은 Block Scope에서 동일 변수를 다시 선언하면 안 됨(오류 발생)