函数相关约束

函数的相关约束

函数重载:在函数实现之前,对函数调用的多种情况进行声明

可选参数:可以在某些参数名后加上问号,表示该参数可以不用传递。可选参数必须在参数列表的末尾。

 # 举个栗子-应用场景
 /**
   * 相乘的结果
   * @param a 
   * @param b 
   */
  function combine(a: number, b: number): number;
  /**
   * 相加的结果
   * @param a 
   * @param b 
   */
  function combine(a: string, b: string): string;
  function combine(a: number | string, b: number | string): number | string {
    if(typeof a === "number" && typeof b === "number") {
      return a * b;
    }else if(typeof a === "string" && typeof b === "string") {
      return a + b;
    }
    throw new Error("a和b必须是相同的类型")
  }
  combine(1, 2)

  function sum(a: number, b: number, c?: number) {
    if(c) {
      return a + b + c;
    }
  }
  function sum(a: number, b: number, c: number = 0) {
    return a + b + c;
  }
posted @ 2023-06-21 17:48  HuangBingQuan  阅读(16)  评论(0编辑  收藏  举报