如何在 Typescript 中同时使用可选参数和剩余参数?

Mat*_*han 4 typescript

我想要一个函数定义,其中应包含可选参数和其余参数。调用该函数时,我没有从该函数获得所需的输出。在调用函数时我应该使用一些特殊的关键字还是其他东西?

在下面的函数中,地址是可选参数,名称是其余参数。我怎样才能调用这个函数?

function Greet(age:number,address?:string,...names: string[]):void{
    console.log(age);
    console.log(address);
    console.log(names)
}

Greet(20,"Mathan","Maddy")
Run Code Online (Sandbox Code Playgroud)

这里仅将参数传递给年龄和姓名。但第二个值“Mathan”正在考虑作为我的函数中的地址。

Eva*_*oli 5

undefined除了明确指定可选值之外,我真的没有看到任何其他方法可以做到这一点:

Greet(20, undefined, 'Maddy')

没有一种方法可以推断第二个参数是可选参数还是其余参数的开始。

  • 如果您不传递任何值,该值也将为“未定义”。如果您调用“Greet(20)”,则记录输出。这就是“未定义”的意思。 (2认同)