generics

Type parameters that allow creating reusable components working with multiple types while maintaining type safety.

Syntax

typescript
function name<T>(arg: T): T { return arg; }

Example

typescript
function identity<T>(arg: T): T { return arg; }

function first<T>(arr: T[]): T | undefined {
  return arr[0];
}

interface ApiResponse<T> {
  data: T;
  error: string | null;
  status: number;
}