我有两种方法:
static m1(...args: any[]) {
//using args as array ...
}
static m2(str: string, ...args: any[]){
//do something
//....
//call to m1
m1(args);
}
对m1(1,2,3)
的调用按预期工作。但是,来电m2("abc",1,2,3)
会传递给m1([1,2,3])
,而不是预期:m1(1,2,3)
。
那么,在args
中调用m1
时如何将m2
作为参数传递?
答案 0 :(得分:98)
实际上,在调用方法时再次使用...
将起作用。
它会在javascript中为您生成应用调用。
static m1(...args: any[]) {
//using args as array ...
}
static m2(str: string, ...args: any[]){
//do something
//....
//call to m1
// m1(args);
// BECOMES
m1(...args);
}
答案 1 :(得分:15)