可选参数
可传可不传,用 ?: 实现。可选参数必须跟在必须参数后面。
function add (numA: number, numB?: number) {
// numB 可传可不传,number类型
if(numB) {
return numA+ numB
} else {
return numA
}
}
add (1,2) // 3
add (1) // 1
默认参数
1. 在用户不传参数时,设置该参数的默认值。
在所有必须参数后面的带默认初始化的参数都是可选的。
function add (numA: number, numB = 12) {
// numB 可传可不传,默认值:12
return numA+ numB
}
add (1,2) // 3
add (1) // 13
2. 默认参数可以不放在必选参数后面。但放在必选参数前就必须传入undefined的值来获取默认值
function add (numB = 12, numA: number) {
// numB 可传可不传,默认值:12
return numA+ numB
}
add (1,2) // 3
add (1) // 报错。应有 2 个参数,但获得 1 个
add (undefined, 1) // 13
剩余参数
(使用官网的例子)剩余参数可以0~n个
function buildName(firstName: string, ...restOfName: string[]) {
return firstName + ' ' + restOfName.join('-');
}
let employeeName = buildName('Joseph', 'Samuel', 'Lucas', 'MacKinzie');
console.log(employeeName) // Joseph Samuel-Lucas-MacKinzie