Typescript | 函数重载overload、构造函数重载

 (+1 overload)

function foo(x: string): string
function foo(x: number, y: number): number
function foo(x?, y?): any {
  if (typeof y !== 'undefined') {
    return x + y
  }
  return x
}

foo('hello')

foo(1, 2)

注意:

前两行为函数声明(函数签名)

第三行是函数实现,参数必须全部为<?>可选类型

类似的:

constructor    (+1 overload)

class Store {
  constructor(x: string)
  constructor(x: number, y: number)
  constructor(x?, y?) {}
}

new Store('hello')
new Store(1, 2)

 

    原文作者:Prpr_Saber
    原文地址: https://blog.csdn.net/u011607490/article/details/85344426
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞