12、ts函数,可选参数,默认参数,剩余参数
原创
©著作权归作者所有:来自51CTO博客作者wx6375cd1abf2fb的原创作品,请联系作者获取转载授权,否则将追究法律责任
可选参数
形参没有传默认是undefined
可选参数用的不多,内部还要多层判断,一般都用默认参数实现
function bugGun(gunName:string,count?:number) {
console.log(`有眼光~【${gunName}】是
村里最好的强,送你[${count}]把,咱们P城来相见`)
}
bugGun('Ak')
// 不传的话默认是undefined
//有眼光~【Ak】是
// 村里最好的强,送你[undefined]把,咱们P城来相见
function bugGun1(gunName:string,count?:number) {
console.log(`有眼光~【${gunName}】是
村里最好的强,送你[${count? count: 1}]把,咱们P城来相见`)
}
bugGun1('m24')
// 有眼光~【m24】是
// 村里最好的强,送你[1]把,咱们P城来相见
默认参数
,默认参数本身就是可选参数了,所以默认就不要写可选了
function bugGun2(gunName: string = "awm", count: number = 5) {
console.log(`有眼光~【${gunName}】是
村里最好的强,送你[${count? count: 1}]把,咱们P城来相见`)
}
// 两个参数都不传
bugGun2()
//有眼光~【awm】是
//村里最好的强,送你[5]把,咱们P城来相见
// 前传后不传
bugGun2('ak')
//有眼光~【ak】是
//村里最好的强,送你[5]把,咱们P城来相见
// 前不传后传
bugGun2(undefined,99)
//有眼光~【awm】是
//村里最好的强,送你[5]把,咱们P城来相见
剩余参数
剩余参数的类型必须是数组,具体是指明类型的数组
function add1 (x: number, y: number, ...restOfNum: number[]): void {
let resNum: number = x + y;
for( let ele of restOfNum ) {
resNum += ele
}
console.log(resNum)
}
add1(1,2) // 3
add1(1,2,6,8,9) // 26