Разница между использованием интерфейса типа // и предоставлением аннотации к нескольким типам при реализации перегрузки в машинописи - PullRequest
0 голосов
/ 21 марта 2020

Скажите, если я хочу выполнить перегрузку функции, я могу просто сделать это:

function foo(a: number): number
function foo(a: string): string
function foo(a: any) {
  return a
}

Однако я мог бы также реализовать использование интерфейса или типа:

interface Foo {
  (a: number): number
  (a: string): string
}

const foo: Foo = (a: any) => {
  return a
}

Так же Есть ли разница при использовании этих двух способов? Похоже, они оба реализуют функциональность.

...