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는 처음에는 번거롭게 느껴질 수 있지만, 프로젝트가 커질수록 그 가치를 체감하게 됩니다.