如何在 for 中制作实例.在 ES6 中?


for (let i = 0; i < stars.length; i++) {
stars[i] = new Star()
}

工程!

for (let star of stars) {
star = new Star()
}

不行!我想做一次 100 个 Star 实例。我可以用传统的JS制作它们。但是如果我用于...在 ES6 中,它不起作用。为什么?

当访问传统循环时,您不依赖于像数组、集合这样的实体,只是一系列交互者,它们迭代语法中维护的条件,因此我们在循环中所做的任何事情都与循环无关,它将迭代直到它的条件,

其中 as of 循环专门用于数组/集合或可迭代对象,并且 for (对象的变量( 陈述

这里的变量是该对象中的实际值,而不是该值的引用(像传统的 for 循环一样,您正在访问数组中的第 i 个索引位置,而不是数组的实际值。

我希望这 3 个示例有所帮助,它有效。

对于 in:每个索引(星 = 0, 1, 2, 3, 4, 5(
对于:每个值(星号 =

"c", "i", "n", "c", "o"(

class Star {
constructor(number){
this.num = number
}
}
var stars = "cinco";
console.log(stars.length);

for (let i = 0; i < stars.length; i++) {
console.log(stars[i] = new Star(i));
}

for (let star of stars) {
console.log(star = new Star(star));
}

for (let star in stars) {
console.log(star = new Star(star));
}

最新更新