此外,这是一个风格问题还是一个功能性问题?是优先考虑还是更好?我试图了解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);
}
可以提供一个最佳使用案例的示例吗?当一个人应该使用它时可能会发光吗?
答案 0 :(得分:5)
这是一个非常有趣的问题,已在许多其他网站上讨论过。我将发布我读过的基础知识。
ForEach 完全属于阵列王室。 forEach方法引入了Array对象的原型继承的谱系!毋庸置疑,forEach子句仅适用于那些数组结构,即数组。该方法基本上遍历数组的元素并执行回调函数[基本上是一些可执行函数/有趣活动]。
for-of循环对于JS世界来说是一个新的东西,并且包含超级大国! Voilaaaaaaa! for-of循环创建一个循环遍历可迭代成员对象的循环。该列表是一个广泛的列表,如
你需要知道这个坏孩子男孩在2015年诞生了ES6。因此,它提供了充分的使用灵活性
<强>性能强>
在效果方面,for...of
比forEach
快。 Results can be found here
forEach
比for...of
如上所述,W3C规范中还有其他几个可迭代类,如FileList。在最近的W3C草案中(当ES6发布时),像HTMLCollection和NodeList这样的集合现在也实现了forEach(),而不仅仅是Array。 按@Patrick Roberts
来源链接:
答案 1 :(得分:3)
我建议始终在ES6中使用for … of
。
continue
,break
,return
,yield
和await
。我个人觉得它更具可读性,但这取决于偏好。有些人认为forEach
是一种更具功能性的风格,但这是错误的 - 它没有结果价值,而且都是关于做副作用的,所以一个看起来很重要的循环更适合这个目的。