Typescript 编译器或 ES2015 - 是否可以优化代码?

2024-03-28

在其他语言的编译器领域中,当编译为从循环中拉出时,类似这样的东西会被优化,这样就不会每次都创建一个新对象:

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;
 })

我试图查看打字稿编译器是否更改了上面的代码,但似乎没有 - 也许有其他东西可以处理它?或者,对象创建可能会分配该变量并且永远不会更改它。

我不希望 ES2015 这样做,因为它是解释的,但我很高兴我错了。

如果有人能告诉我将来如何最好地解决这个问题,那就加分了。

多谢你们!


不,TypeScript 编译器不进行任何优化。这是它的非目标之一:

非目标

  • 积极优化程序的运行时性能。相反,发出惯用的 JavaScript 代码,可以很好地适应运行时平台的性能特征。

Source: https://github.com/Microsoft/TypeScript/wiki/TypeScript-Design-Goals https://github.com/Microsoft/TypeScript/wiki/TypeScript-Design-Goals

至于ES2015,那是一个语言规范。 JS 引擎会编译和优化。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Typescript 编译器或 ES2015 - 是否可以优化代码? 的相关文章

随机推荐