고급 타입 기능: 제네릭, 유틸리티 타입, 그리고 타입 가드
타입스크립트 고급 타입 기능 활용: 제너릭, 유틸리티 타입, 타입 가드
타입스크립트는 단순한 정적 타입 검사 도구 그 이상으로 많은 고급 타입 기능을 제공합니다. 이번 장에서는 제너릭, 유틸리티 타입 그리고 타입 가드를 활용하여 더욱 모범적인 코드를 작성하는 법을 알아보겠습니다.
제너릭
제너릭은 타입스크립트에서 매우 중요한 기능으로, 타입을 명시하지 않고 범용 코드를 작성할 수 있도록 합니다. 함수, 클래스, 인터페이스 등에서 사용할 수 있습니다.
function identity<T>(arg: T): T {
return arg;
}
const output = identity<string>('Hello'); // 'Hello'
const numberOutput = identity<number>(42); // 42
제너릭을 사용하면 데이터의 타입을 제한하지 않고, 필요할 때 특정한 타입으로 제한할 수 있습니다.
유틸리티 타입
타입스크립트는 여러 유틸리티 타입을 제공합니다. 유틸리티 타입은 기존 타입을 확장하거나 변형할 수 있는 기능을 제공하여 편리하게 사용할 수 있습니다.
예: Partial
Partial은 객체 타입의 모든 속성을 선택적으로 변경합니다.
type User = {
name: string;
age: number;
};
const partialUser: Partial<User> = {
name: 'John'
};
타입 가드
타입 가드는 특정 타입으로 변수의 범위를 좁혀서 안전한 타입 검사 및 처리를 가능하게 합니다.
typeof를 사용한 타입 가드
function isString(value: unknown): value is string {
return typeof value === 'string';
}
if (isString('Hello')) {
console.log(`String detected: ${value}`);
}
타입 가드는 코드의 안정성을 높이고 런타임 오류를 줄이는 데 매우 유용합니다.
결론
이번 장에서는 제너릭, 유틸리티 타입, 타입 가드와 같은 고급 타입 기능을 살펴보았습니다. 이러한 기능을 통해 더욱 안전하고 효율적인 타입스크립트 프로그램을 작성할 수 있습니다. 다음 장에서 이들 기술을 어떻게 조합하여 모던한 TypeScript 애플리케이션을 개발할 수 있는지 알아볼 것입니다.
참고 자료
공유하기



조회수 : 30