【发布时间】:2016-03-09 09:22:35
【问题描述】:
我刚开始在一个使用 TypeScript 的新项目中工作。我来自另一个也使用 TypeScript 的项目。由于 TypeScript 中的原生 for of 循环是可用的,我们决定(旧项目团队)使用这个循环。 Espacialy 对我来说,写 for of 循环要方便得多,这与我的 java 背景有关。
现在在新项目中,他们在任何地方都使用 _.foreach() 循环来迭代数组。
我想知道的是,本机打字稿 for of 和 _.foreach() 之间是否存在性能差异
我在 jsperf 中创建了一个小测试,它们接缝或多或少完全相同的速度...
https://jsperf.com/foreach-vs-forof/12
TypeScript 用于
for (let num: string of list){
console.log(num);
}
在 JavaScript 中
var list = "9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9".split();
//Transpiled TypeScript for of | **19,937 ±5.04%
for (var _i = 0, list_1 = list; _i < list_1.length; _i++) {
var num = list_1[_i];
console.log("" + num);
}
//lodash | 20,520 ±1.22%
_.forEach(list, function(item) {
console.log("" + item)
});
恕我直言,我更喜欢 TypeScript 中的“本机”,因为它对我来说更具可读性。
你们建议使用什么?是否还有其他点可以用于 of 或更好的 _.forEach
【问题讨论】:
标签: performance typescript foreach lodash