为什么“ for ... in”循环(for(B中的var / let / const A))使A在香草ES6中成为字符串?

Kev*_*Kev 3 javascript

这是在Chromium 78中:

for (var i in [1,3,5]) console.log(i+1)
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

现在,我希望for (var i in [1,3,5]) console.log(i+1)输出1、2、3,因为它i应该是一个索引值。我知道MDN文档提到在这种情况下顺序可能奇怪,但是为什么要进行类型转换?

Cri*_*ìna 5

i不是索引,i是数组对象的属性键。属性键始终是字符串。


归档时间:

查看次数:

47 次

最近记录:

5 年,9 月 前