【发布时间】:2018-11-23 10:34:52
【问题描述】:
另外,这是一个风格问题还是一个功能问题?这是一个偏好问题还是一个更好的问题?我正在尝试理解 for-of 的目的。
我通常使用,
let iterable = [10, 20, 30];
iterable.forEach((val) => {
console.log(val);
})
但我发现这种新语法是可用的。
let iterable = [10, 20, 30];
for (let value of iterable) {
console.log(value);
}
能否提供一个 for-of 最佳用例的示例,说明何时应该使用它?
【问题讨论】:
-
我不会说这完全是基于意见,因为
forEach和for/of之间肯定存在一些差异。例如,for/of可用于迭代生成器,而forEach则不能。所以这不仅仅是一个偏好问题。 -
某些可迭代对象没有
forEach(),例如FileList。除了不实现forEach()的迭代之外,这纯粹是一个偏好问题。