[typescript] 타입 가드의 활용 예시
타입스크립트(TypeScript)에는 타입 가드를 사용하여 실행 시점에 타입을 안전하게 검사할 수 있는 유용한 기능이 있다. 타입 가드를 활용하여 더 안정적인 코드를 작성할 수 있다. 이번 포스트에서는 몇 가지 타입 가드의 활용 예시를 살펴보겠다.
1. typeof를 활용한 타입 가드
function printValue(value: string | number) {
if (typeof value === 'string') {
console.log(value.toUpperCase());
} else {
console.log(value.toFixed(2));
}
}
위 예시에서, typeof
를 사용하여 해당 변수의 타입을 체크함으로써 printValue
함수 내에서 안전하게 작업을 수행할 수 있다.
2. instanceof를 활용한 타입 가드
class Car {
drive() {
console.log('Driving a car...');
}
}
class Bicycle {
ride() {
console.log('Riding a bicycle...');
}
}
function move(vehicle: Car | Bicycle) {
if (vehicle instanceof Car) {
vehicle.drive();
} else {
vehicle.ride();
}
}
위 코드에서, instanceof
를 사용하여 객체가 특정 클래스의 인스턴스인지를 체크하여 해당 객체에 안전하게 접근할 수 있다.
3. 사용자 정의 타입 가드
interface Bird {
fly(): void;
}
interface Fish {
swim(): void;
}
function isBird(pet: Bird | Fish): pet is Bird {
return (pet as Bird).fly !== undefined;
}
function movePet(pet: Bird | Fish) {
if (isBird(pet)) {
pet.fly();
} else {
pet.swim();
}
}
위 코드에서, pet is Bird
는 사용자가 직접 정의한 타입 가드로, 해당 함수를 사용하여 타입스크립트가 유형을 올바르게 추론할 수 있도록 도와준다.
타입 가드를 적절히 활용하면 런타임 시 안전한 타입 검사를 수행할 수 있고, 타입 안정성을 높일 수 있다. 위 예시를 참고하여 프로젝트에서 타입 가드를 활용하여 더 안전하고 유연한 코드를 작성해보자.