预期的输出必须是: 10 22
let y = 10;
{
console.log(y); // this line gives refrence error
let y = 22;
console.log(y);
}
答案 0 :(得分:-1)
{
console.log(this.y); // this line gives refrence error
let y = 22;
console.log(y);
}
您正在尝试调用尚未声明的变量。这就是为什么您遇到此错误的原因。您的第一个console.log不是在查看全局范围,而是在查看块范围。在您调用它时,它尚未定义。一个“ var”将返回未定义。 let和const返回此错误。我希望这很清楚。
您可以使用'this'对此进行测试。如您所见this.y是未定义的。