ES6中'let'关键字的范围是什么(请参阅下面的代码片段)

Raa*_*aaz 1 javascript ecmascript-6

问题标题似乎很简单,但这不是我要问的问题.请尝试以下示例

for(let i=0; i<5; i++){
	//console.log(i);
	let i=5	
	console.log(i);
}
Run Code Online (Sandbox Code Playgroud)

这个例子有效,我的问题是如何在for循环中声明另一个具有相同标识符的变量.

我真的很困惑,发生了什么事?

Ber*_*rgi 5

对于letin for循环的语义,请参阅`let`的解释和使用for循环阻止作用域.

如何在for循环内声明具有相同标识符的另一个变量?

这是因为你的for循环有一个块语句作为它的主体,在那里你可以声明自己的块范围变量,遮蔽来自父范围的变量.