ts函数

131 阅读1分钟

函数的写法有两种 函数的声明写法、函数表达式

函数的声明写法

// 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在我们没写类型的时候会已经推论出类型,这叫类型推论