D G*_*D G 3 javascript ecmascript-6
我对es6 let和const一般情况之间的差异非常熟悉.我不太确定的是,在for..of循环的定义范围内.
我知道循环签名的"老派"不会接受const
ie
for (let i = 0; i < 100; i++) ... // works in chrome
for (const i = 0; i < 100; i++) ... // does not work in chrome (reassignment error)
Run Code Online (Sandbox Code Playgroud)
但是,通过for..of循环,它似乎没有什么区别
const someArray = ['hello', 'hey'];
for (let elem of someArray) ... // works
for (const elem of someArray) ... // also works?
Run Code Online (Sandbox Code Playgroud)
那么这里发生了什么?
为什么const允许for..of但不是旧学校的循环?
循环中的最终结果差异是什么?(除了可能elem在循环内重新分配,我不希望很多人做的事情)
只重新分配一个变量,因此错误
for (const i = 0; i < 100; i++)
Run Code Online (Sandbox Code Playgroud)
为每个循环创建了一个单独的变量,因此工作正常
for (const elem of someArray)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
41 次 |
| 最近记录: |