TypeScript · Middle · Pytanie 10 z 75
Jak działają przeciążenia funkcji w TypeScript?
function parse(x: string): number;
function parse(x: number): string;
function parse(x: string | number) { /* ... */ }- ✓Poprawna odpowiedź: Kilka sygnatur wywołania i jedna ukryta implementacja
- 2Każda sygnatura dostaje własną implementację funkcji, jak w Javie
- 3Ostatnia sygnatura nadpisuje wszystkie poprzednie, które są ignorowane
Wyjaśnienie
Kod wywołujący widzi tylko sygnatury przeciążeń, a TS wybiera pierwszą pasującą od góry do dołu. Implementacja musi być zgodna ze wszystkimi. Przeciążenia często można zastąpić parametrem-unią lub generykiem z typem warunkowym.