🔷 TypeScript 치트시트

JavaScript에 정적 타입을 추가한 언어

기본 문법

타입 선언
let name: string = "TypeScript";
let age: number = 25;
let isActive: boolean = true;
인터페이스
interface User {
    name: string;
    age: number;
    email?: string;
}
클래스
class Person {
    constructor(public name: string, private age: number) {}
    
    greet(): string {
        return `Hello, NULL!`;
    }
}
제네릭
function identity<T>(arg: T): T {
    return arg;
}

const result = identity<string>("hello");

타입 시스템

유니온 타입
type Status = "loading" | "success" | "error";
let currentStatus: Status = "loading";
타입 가드
function isString(value: any): value is string {
    return typeof value === "string";
}
타입 단언
const element = document.getElementById("myId") as HTMLInputElement;
옵셔널 체이닝
const name = user?.profile?.name ?? "Unknown";

고급 기능

데코레이터
@Component({
    selector: "app-user",
    template: "<div>{{user.name}}</div>"
})
export class UserComponent {}
네임스페이스
namespace MyApp {
    export class Utils {
        static formatDate(date: Date): string {
            return date.toISOString();
        }
    }
}
모듈
export interface User {
    id: number;
    name: string;
}

export function createUser(name: string): User {
    return { id: Date.now(), name };
}
더 많은 TypeScript 학습 자료

체계적인 학습을 위해 다음 자료들도 확인해보세요