我读到我们可以创建可选的方法参数,但是当调用具有可选参数的方法时,您仍然必须用undefined
填充它们,这同时又很奇怪而且很无聊。
有什么解决方法吗?
以下是我要执行的操作的示例:
class App {
constructor(a?:string, b?:string, c?:boolean){}
}
let app:App = new App('a', 'need to fill b to fill c', true)
答案 0 :(得分:0)
您所描述的似乎不正确。无论如何,重要的规则是:可选参数不能跟在必需参数之后。操作方法如下:
public mymethod(P:number, p1:number = 0):void
{
}
this.mymethod(0);
this.mymethod(0, 1);
答案 1 :(得分:0)
您可以跳过可选参数,只要要跳过的参数位于参数列表的末尾即可。。 TypeScript没有参数标签,因此它必须依靠参数的顺序才能知道哪个是-如果您在中间跳过一个,应该怎么知道呢?
因此,如果您想忽略c
或b
和c
或什至全部三个的值,就可以了。否则,您将不得不处理它。
另一种选择是传递一个对象作为参数,因为键是标记的,而不是有序的,因此您可以跳过任何想要的操作:
class App {
constructor(args: {a?:string, b?:string, c?:string}){}
}
let app:App = new App({a: 'a', c: 'c'})