What are generics in TypeScript and why are they used? How do they differ from regular parameter typing?
sobes.tech AI
Answer from AI
Generics in TypeScript are a mechanism for parameterizing types, allowing the creation of components (functions, classes, interfaces) with universal types specified at use.
Regular parameter typing fixes a specific type, such as number or string. Generics, on the other hand, enable writing code that works with any type while preserving type information for validation and autocomplete.
For example, a function without generics:
function identity(arg: number): number {
return arg;
}
It only works with numbers.
With generics:
function identity<T>(arg: T): T {
return arg;
}
Now, identity can accept and return a value of any type, and TypeScript knows that the input and output types match.
Why are generics needed:
- Reuse of code for different types.
- Preservation of type safety.
- Improved readability and maintainability of code.
Difference from regular parameter typing:
- Regular typing fixes a specific type.
- Generics allow parameterizing types, making the code universal and type-safe.
Thus, generics are a way to write generalized code that adapts to different types without losing type control.