dev.syw
TypeScript

TypeScript 타입 치트시트 (기본 타입 정리)

기본 타입, interface vs type, 유니온, 제네릭, 유틸리티 타입(Partial·Pick 등) 등 TypeScript 핵심 타입 문법을 정리한 치트시트입니다.

#TypeScript#interface#type#제네릭#유틸리티타입

기본 타입

const name: string = '연욱';
const age: number = 20;
const ok: boolean = true;
const tags: string[] = ['a', 'b'];
const pair: [string, number] = ['x', 1]; // 튜플
let any1: unknown;  // any보다 안전(쓰기 전 검사 필요)

interface vs type

interface User { id: number; name: string; }
type User2 = { id: number; name: string };

유니온 · 리터럴

type Status = 'idle' | 'loading' | 'done'; // 정해진 값만 허용
let s: Status = 'idle';

type Id = number | string;

옵셔널 · 읽기전용

interface Props {
  title: string;
  subtitle?: string;     // 있어도 되고 없어도 됨
  readonly id: number;   // 재할당 불가
}

제네릭

function first<T>(arr: T[]): T | undefined {
  return arr[0];
}
const n = first([1, 2, 3]); // number | undefined

유틸리티 타입 (자주 쓰는 것)

타입효과
Partial<T>모든 속성 옵셔널
Required<T>모든 속성 필수
Pick<T, K>일부 속성만 추출
Omit<T, K>일부 속성 제외
Record<K, V>키-값 객체 타입
ReturnType<F>함수 반환 타입
type UserCard = Pick<User, 'id' | 'name'>;
type Dict = Record<string, number>;

타입 불일치 오류가 난다면 Type is not assignable 문서를 참고하세요.

← 치트시트 모음으로 돌아가기