另外,这是样式问题还是功能问题?是偏好问题还是更好?我试图了解目的。
通常我用
let iterable = [10, 20, 30];
iterable.forEach((val) => {
console.log(val);
})
Run Code Online (Sandbox Code Playgroud)
但我看到这种新语法可用。
let iterable = [10, 20, 30];
for (let value of iterable) {
console.log(value);
}
Run Code Online (Sandbox Code Playgroud)
能否提供一个最佳用例的例子,当有人使用它时可能会有所启发?
Lui*_*noz 12
这是一个非常有趣的问题,已经在许多其他站点中进行了讨论。我将发布已阅读内容的基础知识。
ForEach完全属于Arrays皇室家族。forEach方法是沿袭引入Array对象的原型继承!不用说,forEach子句仅适用于数组数据结构。该方法基本上遍历数组的元素并执行回调函数[基本上是一些可执行的函数/ fun活动]。
for-of循环对于JS世界来说是很新的东西,并且具有超能力!瞧!for-of循环创建一个遍历可迭代成员对象的循环。该列表是一个广泛的列表,例如
您需要知道,这个坏蛋男孩是在2015年ES6诞生时出现的。因此,它在使用上提供了足够的灵活性
性能
在性能上for...of比快forEach。结果可以在这里找到
forEach 比慢24% for...of
如上所述,W3C规范中还有其他几个可迭代的类,例如FileList。在W3C的最新草案中(大约在ES6发布时),诸如HTMLCollection和NodeList之类的集合现在也实现了forEach(),而不仅仅是Array。通过@帕特里克·罗伯茨
来源链接:
我建议始终for … of在ES6中使用。
continue,break,return,yield和await。我个人也觉得它更具可读性,但这取决于偏好。有人认为这forEach是一种更具功能性的样式,但这是错误的-它没有结果价值,而且全都在产生副作用,因此,看起来强制性的循环更适合该目的。
性能不是问题,在现代引擎中,所有循环样式都是等效的。
| 归档时间: |
|
| 查看次数: |
3712 次 |
| 最近记录: |