1. 函数的声明方式
function show(a: number,b: number):number{
return a + b
}
show(1, 2)
type Show = (a: number, b: number) => number
let show:Show = (a: number, b: number) => {
return a + b
}
2. 可选参数
let sum = (a: string, b?: string):string => {
return a + b;
};
sum('a');
3. 默认参数
let sum = (a: string, b: string = 'b'): string => {
return a + b;
};
sum('a');
4. 剩余参数
const sum = (x: number, ...args: number[]): number => {
return [...args].reduce((s, v) => {
return (s + v)
})
}
console.log(sum(1, 2, 3)) // 5
5. 函数的重载
function toArray(value:string):string[]
function toArray(value:number):number[]
function toArray(value:string | number) { // 重载方法在真实方法的上面
if(typeof value == 'string'){
return value.split('');
}else{
return value.toString().split('').map(item => Number( item ));
}
}
let r = toArray('abc');
console.log(r)