Скажите, если я хочу выполнить перегрузку функции, я могу просто сделать это:
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
}
Так же Есть ли разница при использовании этих двух способов? Похоже, они оба реализуют функциональность.