Babel:ES6 中的函数参数类型
Babel: Function parameter types in ES6
如果我编写以下代码并通过 Babel (6.5.0) 进行转译,它可以正常工作。
function foo (first: string, second: number) {
// code here
}
: string
和: number
只是从转译的 ES5 代码中删除。
如果我使用错误的参数类型调用函数,它不会导致任何错误/警告。即使没有任何功能,它们也是信息丰富的。
我在互联网上找不到有关 ES6 参数类型的正确信息。参数类型甚至是 ES6 的一部分吗?
编辑:这个问题在下面的评论中得到了回答,我根据它们包装了官方答案。
感谢Joe Clay,Bergi和Felix Kling在评论部分的回答。我从下面的讨论中包装了答案,因为没有人正式回答。
--
似乎一些 Babel 插件(例如 babel-plugin-transform-flow-strip-types)在转译时剥离了参数类型。我正在使用 babel-preset-react ,其中包括 babel-plugin-transform-flow-strip-types。
从下面复制粘贴的 babel-plugin-transform-flow-strip 类型的示例行为 http://babeljs.io/docs/plugins/transform-flow-strip-types/
在:
function foo(one: any, two: number, three?): string {}
外:
function foo(one, two, three) {}
结论,参数类型不是有效的 ES6,但如果代码是使用 Babel 和剥离插件进行转译的。
相关文章:
- 函数参数中的数据与指定变量之间的任何性能差异
- AngularJS:我可以跳过函数参数回调吗
- 为什么不'我们在javascript中使用函数参数的数据类型
- 使用闭包共享构造函数参数
- 函数参数的值错误
- 当一个重要的构造函数参数丢失时应该发生什么
- 阻止ReSharper将JavaScript函数参数放到新行中
- 根据函数参数将CSS值存储在var中,然后对其进行操作
- 使构造函数参数具有ES6类方法的特权
- 当客户端将两个按钮的javascript函数参数修改为相同时,SQL/PHP会更新多行
- Windows.Networking.EndpointPair构造函数参数
- 是否可以使用Sinon.JS检查函数参数绑定是否正确
- 大括号中的Javascript函数参数
- jQuery 无法使用 AJAX 调用访问函数内部的函数参数
- 将JSON字符串转换为函数参数
- eval()读取函数参数有多糟糕
- Javascript不能在一个命令中使用函数参数
- 函数参数在内部不可见,返回新的Promise(函数(resolve,reject).传递给被promise化的函数的
- ES6类构造函数参数
- 是否可以在javascript函数参数列表中调用多个函数