函数的写法有两种 函数的声明写法、函数表达式
函数的声明写法
// function 函数参数和返回值分开!! z可选参数
function add(x: number,y: number,z:number = 10): number{
if(typeof z === 'number'){
return x+y+z;
}else{
return x+y;
}
}
const result = add(1,2) //13
函数表达式
// 匿名函数赋值给变量add
const add = (x: number,y: number,z:number = 10): number => {
if(typeof z === 'number'){
return x+y+z;
}else{
return x+y;
}
}
const a = add(1,3)
// add2是个变量 变量的类型是函数!!
const add2 : (x: number, y: number, z?:number)=> number = add;
// 也可以用interface的写法
interface ISum {
(x: number, y: number, z?: number): number
}
const add3: ISum = add;
// 上面的add函数没有写函数类型,ts在我们没写类型的时候会已经推论出类型,这叫类型推论