在 typescript 函数里,如果我们定义了参数(形参),则我们必须传入这些参数(实参)。形参或者实参的个数少了,实参和形参对应不上都会编译错误。除非将形参设置为可选。
typescript 可选参数
可选参数使用问号标识 ?,加在形参 的后面。加了?的形参表示对应的实参如果没有传也不会编译错误,例如:
function fct(arg1:number, arg2?:number):number{
//代码块
}
fct(1);
//arg2是可选参数,所以没有传对应的实参也不会报错。
注意:可选参数必须放在必须参数的后面,位置不能颠倒!
typescript 默认参数
function fct(arg1:number, arg2:number=5):number{
//代码块
}
fct(1);
arg2设置了默认参数,调用函数fct如果有传第二个实参则以传入的实参作为参数,如果没有传以设置好的默认参数为准。设置了默认参数,即使没有传实参也不会报错,因为arg2始终都有值。
注意:可选参数和默认参数不可以同时设置在一个参数上!
typescript 剩余参数
剩余参数是指把剩下的参数全部组合成一个数组,在形参里以 ...作为前缀。例如:
function fct(a: string, ...restArgs: string[]) {
return a + " " + restArgs.join(" ");
}
let employeeName = fct("Joseph", "Samuel", "Lucas", "MacKinzie");