TypeScript Generics Intro
Learn generics to write reusable, type-safe functions and classes without losing flexibility.
David Miller
December 18, 2025
1.4k56
Generics let you write code that works with many types, but still stays type-safe.
## Why generics?
Without generics:
```ts
function identity(value: any): any {
return value;
}
```
You lose type safety.
With generics:
```ts
function identity<T>(value: T): T {
return value;
}
const a = identity<number>(10);
const b = identity("hello");
```
TypeScript remembers the type.
## Generic with arrays
```ts
function first<T>(arr: T[]): T {
return arr[0];
}
first([1, 2, 3]);
first(["a", "b"]);
```
## Graph
```mermaid
flowchart TD
A[Generic Function] --> B[T = number]
A --> C[T = string]
```
## Remember
- Generics = flexible + safe
- Avoid any when generics fit
#TypeScript#Intermediate#Generics