我刚刚完成了一个React演示应用的构建,并想到了一些优化,例如将forEach
迭代替换为简单的for
。
但是当我这样做的时候,我意识到我正在用webpack
编译应用程序,据我所知webpack通过babel
来运行所有程序,所以我想知道,此过程是否会使{ {1}}和所有其他现代代码转换为快速运行的代码?
因为我认为这是一个绝妙的主意,所以使用forEach
可以简化编码,然后将其编译为最快的版本。
答案 0 :(得分:1)
如果您对Babel进行了配置(如果您对此进行了配置),那么在这种情况下,forEach
受所有浏览器的支持,即使在较旧的版本中,Babel也不会对其进行更改。
答案 1 :(得分:1)
如果您使用的是@ babel / preset-env(Create React App会这样做),那么babel的处理取决于您在.browserslistrc中设置的内容-除非您可以使用,否则我可以使用https://caniuse.com/#search=forEach支持IE8或更早版本,foreach不应转换为for循环。
默认的create-react-app浏览器列表不支持IE8。
"browserslist": {
"production": [
">0.2%",
"not dead",
"not op_mini all"
],
"development": [
"last 1 chrome version",
"last 1 firefox version",
"last 1 safari version"
]
}