반응형

타입스크립트(TypeScript)는 자바스크립트에 정적 타입 기능을 추가한 오픈 소스 언어입니다. 대규모 프로젝트에서 발생할 수 있는 버그를 사전에 방지하고, 더 안전하고 견 고한 코드를 작성할 수 있도록 도와줍니다. 특히 타입 시스템, 인터페이스, 제네릭과 같은 기능은 협업과 유지보수를 보다 효율적으 로 만들어줍니다. 이 글에서는 타입스크립트의 정적 타입, 인터페이스 , 제네릭 개념을 중점적으로 설명합니다.
1. 타입스크립트의 정적 타입 시스템 – 오류를 줄이는 안전장치
let age: number = 30;
let name: string = "홍길동";
let isActive: boolean = true;
function greet(name: string): string {
return `안녕하세요, ${name}님`;
}
- 기본 타입: string, number, boolean
- 유니언 타입: string | number
- 타입 추론: 타입 자동 감지
let value: string | number;
value = "hello";
value = 123;
2. 타입스크립트 인터페이스 활용 – 객체 구조의 계약서
interface User {
name: string;
age: number;
isAdmin?: boolean;
}
const user1: User = {
name: "철수",
age: 28,
};
function printUser(user: User) {
console.log(`${user.name} (${user.age}세)`);
}
인터페이스 확장:
interface Admin extends User {
role: string;
}
| 항목 | interface | type |
|---|---|---|
| 확장성 | 상속 가능 | & 사용 |
| 선언 병합 | 지원 | 불가 |
| 유연성 | 클래스와 적합 | 유틸리티 타입에 강함 |
3. 타입스크립트 제네릭 개념 이해 – 다양한 타입을 유연하게 처리
function identity<T>(arg: T): T {
return arg;
}
const output1 = identity<string>("hello");
const output2 = identity<number>(123);
function getFirst<T>(arr: T[]): T {
return arr[0];
}
interface Box<T> {
value: T;
}
- 제네릭으로 재사용성과 타입 안정성 향상
- 제약 조건 설정 가능 (extends)
function logLength<T extends { length: number }>(input: T): void {
console.log(input.length);
}
결론: 타입스크립트는 견고한 웹 개발의 시작점
타입스크립트는 정적 타입, 인터페이스, 제네릭 기능을 통해 예측 가능한 코드 작성, 버그 최소화, 협업 최적화를 가능하게 합니다. JS의 자유로움을 유지하면서도 안정성과 구조를 제공하는 프론트엔드 개발자 필수 도구입니다.
반응형
댓글