jQw*_*rdy 4 optimization typescript ecmascript-6
在其他语言的编译器领域,当它被编译为从循环中被拉出时,这样的东西会被优化,所以每次都不会创建一个新对象:
const arr = [1, 2, 3, 4, 5]
arr.map(num => {
const one_time = 5; // this never changes, can be lifted out of the loop.
return num * one_time;
})
Run Code Online (Sandbox Code Playgroud)
我试图查看打字稿编译器是否更改了上面的代码,但似乎没有 - 也许其他东西可以解决它?或者,对象创建可能会分配该变量并且永远不会更改它。
我不指望 ES2015 这样做,因为它被解释了,但我很高兴错了。
如果有人能告诉我将来如何最好地为自己解决这个问题,那就加分。
谢谢你们!
不,TypeScript 编译器不做任何优化。这是它的非目标之一:
非目标
- 积极优化程序的运行时性能。相反,发出符合运行时平台性能特征的惯用 JavaScript 代码。
来源:https : //github.com/Microsoft/TypeScript/wiki/TypeScript-Design-Goals
至于 ES2015,那是一种语言规范。JS 引擎会编译和优化。
| 归档时间: |
|
| 查看次数: |
1548 次 |
| 最近记录: |