All notes Notes · TypeScript

Advanced TypeScript Patterns

A collection of useful TypeScript patterns and when to use them

1 min read

Here are some TypeScript patterns I’ve found particularly useful:

Type Predicates

Type predicates are functions that narrow down types:

function isError(value: unknown): value is Error {
  return value instanceof Error;
}

Discriminated Unions

Perfect for handling different states:

type State = 
  | { status: 'idle' }
  | { status: 'loading' }
  | { status: 'success', data: string }
  | { status: 'error', error: Error }