Funkcja łączenia deklaracji w TypeScript pozwala na łączenie wielu deklaracji tego samego identyfikatora w ramach jednej przestrzeni nazw. Oznacza to, że można zadeklarować typ lub interfejs wielokrotnie, a TypeScript złączy te deklaracje w jedną, co umożliwia dodawanie nowych właściwości lub metod do istniejących interfejsów lub przestrzeni nazw.
Przykład:
interface User { name: string; } interface User { age: number; } const user: User = { name: 'John', age: 30 };
W tym przypadku interfejs User
jest zadeklarowany dwukrotnie, ale TypeScript połączy te deklaracje w jeden interfejs z właściwościami name
i age
. Jest to szczególnie przydatne w pracy z bibliotekami zewnętrznymi, gdzie możemy rozbudować istniejące interfejsy, aby dodać nowe metody lub właściwości.
Przykład zastosowania w bibliotekach zewnętrznych:
declare module 'react' { interface ComponentProps { myCustomProp: string; } } declare module 'react' { interface ComponentProps { myOtherProp: number; } }
W tym przykładzie TypeScript połączy obie deklaracje w jeden interfejs ComponentProps
, umożliwiając użycie obu właściwości myCustomProp
i myOtherProp
w komponentach React.