我正在使用let
Node.JS(需要标志--harmony
和--use-strict
)。据我了解,该let
语句允许块范围的声明。考虑以下:
let a;
for(let i = 0; i < 3; i += 1) {
console.log(i);
}
涉及多少块作用域?i
居住在哪个块范围内?我是否正确地认为,为了使这个示例起作用,涉及三个块作用域,其中一个作用域由for
循环隐式创建,如下所示?
{ // block #1
let a;
{ // block #2 (contains `i`)
let i;
for(i = 0; i < 3; i += 1) { // block #3
console.log(i);
}
}
}