Javascript 在for循环中使用时,执行typeof变量会引发错误

Javascript 在for循环中使用时,执行typeof变量会引发错误,javascript,node.js,async-await,scope,Javascript,Node.js,Async Await,Scope,由于某种原因,当我试图访问For in循环中的rates变量时,它抛出一个ReferenceError,但我可以在循环之前很好地使用它。我似乎不知道是什么导致了这种行为。即使执行typeof也会抛出此错误,但它在一个从未使用过的变量上运行良好: const test=1; 常数率=等待率。查找({ propertyId:property.\u id, ratePlanId:{$in:ratePlanId}, }); console.log(测试);//1. 控制台日志(费率类型);//对象 用于

由于某种原因,当我试图访问
For in
循环中的
rates
变量时,它抛出一个
ReferenceError
,但我可以在循环之前很好地使用它。我似乎不知道是什么导致了这种行为。即使执行
typeof
也会抛出此错误,但它在一个从未使用过的变量上运行良好:

const test=1;
常数率=等待率。查找({
propertyId:property.\u id,
ratePlanId:{$in:ratePlanId},
});
console.log(测试);//1.
控制台日志(费率类型);//对象
用于(费率计划中的常数i){
console.log(test);//1
console.log(类型为asdlkfjasdajsfl);//未定义
console.log(typeof rates);//引用错误:未定义速率
//[…代码的其余部分]
}

这意味着您已经在该
循环体的
部分下定义了另一个
let rates
const rates
class rates{}
。你经历了暂时的死区。@Bergi Ohhh。再往下走。谢谢