ts-06 函数类型

固定参数

  •   const fn = function (name: string, age: number): string {
        return name + age
      }
      let f = fn1('盲仔',12) // 盲仔 12
    

默认值

  • 语法
    • 参数 : 类型 = 默认值
  •   const fn = function (name: string, age: number = 80): string {
        return name + age
      }
      let f = fn1('盲仔') // 盲仔 80
    

可选值

  • 语法
    • 参数 ?: 类型
  •   const fn1 = function (name: string, age?: number): string {
        return name + age
      }
      let f = fn1('妖姬') // 妖姬 undefined
    

通过 interface 来约束

  •   interface Person {
        name: string
        age: number
      }
    
      const fn = function (p: Person): Person {
        return p
      }
    
      let p1 = fn({
        name: '瑞雯',
        age: 20,
      })
    
      console.log(p1) // { name: '瑞雯', age: 20 }
    

函数重载

  • 方法名相同 参数不同 返回类型也可以不相同
  •    function fn(p: number): void // 第一套规则
       function fn(p: string, p2: boolean): void // 第二套规则
       function fn(p: any, p2?: any): any {
         console.log(p, p2)
       }
       fn(2) // 2 undefined
       fn('瑞雯', true) // 瑞雯 true
    
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容