TypeScript函数重载中无法访问形参
假设我们有下面这样一个重载函数,可以不传参数,也可以传入两个或者四个,现在这样的写法在ts中会报错
function show(): void;
function show(x: number, y: number): void;
function show(x: number, y: number, w: number, h: number): void;
function show(...args: any[]): void {
console.log(x); // Cannot find name 'x'
}
show();
这样的写法有问题么
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
给你一个修改建议:
说明:
show()
这个声明x, y, w, h
分别进行了非undefined
判断,可以保证分支中它们不是undefined
,所以可以直接使用(如果不加判断是不能直接参与运算的)欢迎来学习我的课程:TypeScript从入门到实践 【2020 版】
3.2 节的 2分20秒 左右讲到了相关的问题