Przeciążenie funkcji w TypeScript pozwala na deklarowanie wielu wersji tej samej funkcji, z różnymi sygnaturami parametrów. TypeScript używa sygnatur funkcji do wyboru odpowiedniej wersji w zależności od argumentów przekazywanych do funkcji.
Przykład:
function greet(person: string): string; function greet(person: string, age: number): string; function greet(person: string, age?: number): string { if (age) { return `Hello, ${person}, you are ${age} years old!`; } return `Hello, ${person}!`; } console.log(greet('John')); // "Hello, John!" console.log(greet('John', 30)); // "Hello, John, you are 30 years old!"
W tym przykładzie przeciążenie funkcji greet
definiuje dwie sygnatury: jedna przyjmuje tylko nazwisko, druga przyjmuje dodatkowo wiek. TypeScript wybiera odpowiednią wersję w zależności od przekazanych argumentów.