【发布时间】:2021-12-23 05:14:37
【问题描述】:
我已经尝试了问题Skip arguments in a JavaScript function 中的answer of Pacerier。但它似乎不起作用。
我有一个有很多参数的函数
this.service.list("all",null, null, localStorage.getItem('currentProgram'), null, 100, ...Array(2), environment.liveMode).subscribe(...)
我发现的唯一方法就是一一写出来,比如(,null, null or undefined,undefined)。
我也设置了一个测试方法,看看是不是不一样,但是效果也不好。
test(a: any, b: any, c: any, d: string) {
console.log(d)
}
ngOnInit() {
this.test(...Array(3), "a")
}
我还尝试了答案中提出的其他语法。
在 TypeScript 中有没有更简洁的方法来做到这一点?
【问题讨论】:
-
你的函数有很多可选参数,这可以看作是代码异味。如果您可以重构函数,那么您应该使用一个对象而不是多个参数,例如
function foo(options: {a?: string, b?: number})。
标签: angular typescript function arguments spread