D
·

TypeScript 기초 정리

avatar

Devlog

@Twitter

TypeScript 기초 정리

JavaScript에서 TypeScript로 넘어오면서 정리한 기초 개념들입니다.

왜 TypeScript인가?

  • 타입 안정성: 컴파일 시점에 에러를 잡을 수 있음
  • IDE 지원: 자동완성, 리팩토링이 훨씬 편함
  • 가독성: 코드만 봐도 데이터 구조를 파악할 수 있음

기본 타입

// 기본 타입
let name: string = '홍길동'
let age: number = 25
let isActive: boolean = true

// 배열
let numbers: number[] = [1, 2, 3]
let names: Array<string> = ['a', 'b', 'c']

// 객체
let user: { name: string; age: number } = {
  name: '홍길동',
  age: 25,
}

인터페이스와 타입

// 인터페이스
interface User {
  id: number
  name: string
  email?: string // 선택적 속성
}

// 타입 별칭
type Status = 'pending' | 'active' | 'inactive'

// 사용
const user: User = { id: 1, name: '홍길동' }
const status: Status = 'active'

제네릭

// 제네릭 함수
function identity<T>(value: T): T {
  return value
}

// 사용
const num = identity<number>(42)
const str = identity<string>('hello')

유틸리티 타입

interface User {
  id: number
  name: string
  email: string
}

// Partial - 모든 속성을 선택적으로
type PartialUser = Partial<User>

// Pick - 특정 속성만 선택
type UserName = Pick<User, 'name'>

// Omit - 특정 속성 제외
type UserWithoutEmail = Omit<User, 'email'>

마무리

TypeScript는 처음에는 번거롭게 느껴질 수 있지만, 프로젝트가 커질수록 그 가치를 체감하게 됩니다.