사용자 도구

사이트 도구


typescript:cheat_sheet

Cheat Sheet

Usage

npm install typescript tsc

Primitive types

Primitive types
Any type (explicitly untyped) any
void type (undefined or null, use for function returns only) void
Undefined type undefined
Null type null
never type never
unknown type unknown
String (including ES6 multi-line string templates) string
Number number
Boolean boolean
object (may be an Object or non-primitive) object

Named types (interface, class, enum)

Named types (interface, class, enum)
Interface
interface Child extends Parent, SomeClass {
  property: Type;
  optionalProp?: Type;
  optionalMethod?(arg1: Type): ReturnType;
}
Class
class Child extends Parent implements Child, OtherChild {
  property: Type;
  defaultProperty: Type = 'default value';
  private _privateProperty: Type;
  private readonly _privateReadonlyProperty: Type;
  static staticProperty: Type;
  constructor(arg1: Type) {
    super(arg1);
  }
  private _privateMethod(): Type {}
  methodProperty: (arg1: Type) => ReturnType;
  overloadedMethod(arg1: Type): ReturnType;
  overloadedMethod(arg1: OtherType): ReturnType;
  overloadedMethod(arg1: CommonT): CommonReturnT {}
  static staticMethod(): ReturnType {}
  subclassedMethod(arg1: Type): ReturnType {
    super.subclassedMethod(arg1);
  }
}
Enum
enum Options {
  FIRST,
  EXPLICIT = 1,
  BOOLEAN = Options.FIRST | Options.EXPLICIT
}
enum Colors {
  Red = "#FF0000",
  Green = "#00FF00",
  Blue = "#0000FF"
}

Object type literals

Object type literals
Object with implicit Any properties { foo; bar; }
Object with optional property { required: Type; optional?: Type; }
Hash map { [key: string]: Type; }

Union and intersection types

Union and intersection types
Union type let myUnionVariables: number | string;
Intersection type let myIntersectionType: Foo & Bar;

Arrays and tuples

Arrays and tuples
Array of strings string[] or Array<string>
Array of functions that return strings {(): string; }[] or Array<() ⇒ string>
Tuples let myTuple: [ string, number, boolean? ]; myTuple = [ 'test', 42 ];

Functions

Functions
Function { (arg1: Type, argN: Type): Type; } or (arg1: Type, argN: Type) ⇒ Type;
Constructor { new (): ConstructedType; } or new () ⇒ ConstructedType;
Function type with optional param (arg1: Type, optional?: Type) ⇒ ReturnType
Function type with rest param (arg1: Type, …allOtherArgs: Type[]) ⇒ ReturnType
Function type with static property { (): Type; staticProp: Type; }
Default argument function fn(arg1: Type = 'default'): ReturnType {}
Arrow function (arg1: Type): ReturnType ⇒ {} or (arg1: Type): ReturnType ⇒ Expression
this typing function fn(this: Foo)

Generics

Generics
Function using type parameters <T>(items: T[], callback: (item: T) ⇒ T): T[]
Interface with multiple types interface Pair<T1, T2> { first: T1; second: T2; }
Constrained type parameter <T extends ConstrainedType>(): T
Default type parameter <T = ConstrainedType>(): T
Constrained and default type parameter <T extends ConstrainedType = ConstrainedType>(): T

Partial and mapped types

Partial and mapped types
Partial type Partial<{ x: number; y: number; z: number; }> is equivalent to { x?: number; y?: number; z?: number; }
Readonly type Readonly<{ x: number; y: number; z: number; }> is equivalent to { readonly x: number; readonly y: number; readonly z: number; }
Pick type Pick<{ x: number; y: number; z: number; }, 'x' | 'y'> is equivalent to { x: number; y: number; }
Record type Record<'x' | 'y' | 'z', number> is equivalent to { x: number; y: number; z: number; }

Conditional types

Conditional types
Conditional types declare function createLabel<T extends number | string>(idOrName: T): T extends number ? Id : Name;
Exclude type Excluded = Exclude<string | number, string>; is equivelant to number
Extract type Extracted = Extract<string | number, string>; is equivelant to string
NonNullable type NonNull = NonNullable<string | number | void>; is equivalent to string | number
ReturnType type ReturnValue = ReturnType<() ⇒ string>; is equivalent to string
InstanceType class Renderer() {} type Instance = InstanceType<typeof Renderer>; is equivalent to Renderer

Other

Other
Type of a variable typeof varName
typescript/cheat_sheet.txt · 마지막으로 수정됨: 2025/04/15 10:05 저자 127.0.0.1