【发布时间】:2019-12-31 04:50:37
【问题描述】:
我想要一个函数定义,它应该包含可选参数和休息参数。在调用该函数时,我没有从该函数获得所需的输出。在调用函数时我应该使用一些特殊的关键字吗?
在下面的函数中,地址是可选参数,名称是休息参数。如何调用这个函数?
function Greet(age:number,address?:string,...names: string[]):void{
console.log(age);
console.log(address);
console.log(names)
}
Greet(20,"Mathan","Maddy")
这里只将参数传递给年龄和姓名。但第二个值“Mathan”在我的函数中被考虑作为地址。
【问题讨论】:
-
“没有从函数中得到想要的输出” 这是什么意思?您提供的输入是什么?您是否希望该函数能够接受
names没有address?如果是这样,那是行不通的。 -
是的,这是我的问题。我已经更新了我的问题。提供了更多的清晰度。
-
从 JavaScript 引擎的角度思考这个问题:它怎么知道
Greet(20,"Mathan","Maddy")中的"Mathan"应该是一个名字,而Greet(20,"90 Fake Street","Maddy")中的"90 Fake Street"是应该是地址?在这两种情况下,它所知道的只是传递了一个数字和两个字符串。无法以您尝试的方式使用可选参数和休息参数。你需要重新考虑你的方法。
标签: typescript