# 函数的两种声明方式
- 通过function关键字来声明
function sum(a: string, b: string):string {
return a+b;
}
sum('a','b')
- 通过表达式方式声明
type Sum = (a1: string, b1: string) => string;
let sum: Sum = (a: string, b: string) => {
return a + b;
};
可选参数
// 可选参数必须在其他参数的最后面
const sum5 = (a:string, b?:string) => a + b;
默认参数
// 默认参数必须在其他参数的最后面
const sum6 = (a:string, b:string = 'a') => a + b;
sum6('a')
剩余参数
const sum7 = (...args:number[]) => console.log(args)
sum7(1, 2, 3, 4, 5)
函数的重载
function toArray(val:number):number[]
function toArray(val:string):string[]
function toArray(val:string|number) {
if (typeof val == 'string') {
return val.split('')
}
return val.toString().split('').map(item=>parseInt(item))
}
toArray(1)
toArray('1')