使用 TypeScript 将箭头函数编译为常规函数

And*_* R. 4 javascript typescript arrow-functions

一个相当简单的问题,但我还没有在任何地方找到答案:是否有一些开关可以让 TypeScript 将箭头函数编译成普通的 JavaScript 函数?

我在我的代码中经常使用它们,我不想重写所有内容。但我最近意识到,IE 不支持它们。

我已经尝试将脚本版本切换到 ES5,但是我的代码将无法再编译,因为我也在使用“过滤器”,这似乎不是它的一部分。但是,我不知道,这是否会首先完成这项工作。

Sar*_*ana 5

如果您只想将箭头函数转换为常规函数并保持其余代码编译,您可以将targetconfiges5libproperty 设置为es6

"compilerOptions": {
    "target": "es5",
    "lib": ["es6"],
    // ....
}
Run Code Online (Sandbox Code Playgroud)

这将允许使用 ES6 功能的代码在面向 ES5 的同时进行编译。但是您必须确保这些功能(如filter)在运行时可用。如果它们不可用,它将抛出运行时异常。

  • 如果您正在为浏览器构建,请添加 `"lib": ["es6", "dom"]`。 (2认同)