Babel:ES6中的函数参数类型

如果我编写以下代码并通过 则它可以正常工作。

function foo (first: string, second: number) {

// code here

}

: string并且: number只是从转译的ES5代码中删除。

如果我使用错误的参数类型调用该函数,则不会导致任何错误/警告。即使没有任何功能,它们也可提供信息。

我在互联网上找不到有关ES6参数键入的正确信息。参数键入是否甚至是ES6的一部分?

这个问题在下面的评论中得到了回答,我根据它们包装了官方的答案。

回答:

感谢 Joe Clay,Bergi在评论部分提供的答案。由于没有人正式回答,因此我将讨论中的答案封装在下面。

-

似乎一些 插件(例如babel-plugin-transform-flow-strip-

types)会在编译时剥离参数类型。我正在使用包含babel-plugin-transform-flow-strip-

types的babel-

preset-react。

以下是从http://babeljs.io/docs/plugins/transform-flow-strip-

types/复制粘贴的

示例行为

function foo(one: any, two: number, three?): string {}

function foo(one, two, three) {}

结论,参数类型不是有效的ES6,但是如果使用带剥离插件的Babel来转码代码,则可以使用它们。

以上是 Babel:ES6中的函数参数类型 的全部内容, 来源链接: utcz.com/qa/429041.html

回到顶部