TypeScript - Generics: Basics, Constraints & Defaults
Generic functions
function identity(x: T): T { return x }
const a = identity(42); // T = number
const b = identity("ok"); // T = string
Constraints
function getId(x: T) { return x.id }
Default type parameters
interface ApiResponse { ok: boolean; data: T }
Generic classes & interfaces
class Box { constructor(public value: T) {} }
interface Pair { first: A; second: B }