Custom type

2 snippets across 2 stacks — Python, TypeScript

PYPython

Type Aliases (3.12+)

PY · Variables & Types
syntax
type AliasName = existing_type
example
type UserId = int
type Coordinate = tuple[float, float]
type UserMap = dict[UserId, str]

position: Coordinate = (40.71, -74.01)

Note The type statement (Python 3.12+) replaces TypeAlias from typing. It supports lazy evaluation and generic parameters.

TSTypeScript

Type Alias Basics

TS · Type Aliases
syntax
type Name = Type;
example
type UserId = string;
type Coordinate = { x: number; y: number };
type StringOrNumber = string | number;
type Callback = (data: unknown) => void;

const origin: Coordinate = { x: 0, y: 0 };
const userId: UserId = "usr_9f3a";
output
// Type aliases create a name for any type expression

Note Type aliases and interfaces overlap for object shapes, but type aliases can also name unions, tuples, primitives, and function types. Unlike interfaces, type aliases cannot be re-declared for merging. Use interfaces for object shapes that might be extended; use type aliases for everything else.