[typescript] 타입 가드를 사용한 코드 재사용성 향상
타입스크립트(TypeScript)에서는 타입 가드(Type Guards)를 사용하여 코드의 재사용성을 향상시킬 수 있습니다. 타입 가드는 런타임에서 값의 타입을 확인하여 해당 값이 특정 타입인지 여부를 판단하는 기능을 제공합니다. 이를 통해 타입 안전성을 유지하면서 코드를 보다 유연하게 작성할 수 있습니다.
타입 가드란 무엇인가요?
타입 가드는 주로 typeof
, instanceof
, in
연산자를 활용하여 구현됩니다. 이를 통해 변수가 특정 타입인지를 확인하고, 해당 타입으로 사용할 수 있도록 보장합니다. 예를 들어, 다음과 같은 함수를 작성할 수 있습니다.
function printEmployeeInfo(emp: Employee | Manager) {
if ('title' in emp) {
console.log(emp.title); // 여기서 emp는 Manager 타입이 됨
} else {
console.log(emp.department); // 여기서 emp는 Employee 타입이 됨
}
}
위의 예제에서 in
연산자를 사용하여 emp
의 타입을 확인하고, 해당 타입에 맞게 다른 프로퍼티를 안전하게 참조할 수 있습니다.
코드 예제
다음은 타입 가드를 사용하여 코드의 재사용성을 향상시키는 간단한 예제입니다.
interface Bird {
fly(): void;
}
interface Fish {
swim(): void;
}
function move(animal: Bird | Fish) {
if ('fly' in animal) {
animal.fly();
} else {
animal.swim();
}
}
위의 코드에서 move
함수는 animal
매개변수의 타입에 따라 fly
혹은 swim
메소드를 호출합니다. 이를 통해 동일한 코드를 사용하여 다양한 타입을 다룰 수 있습니다.
결론
타입 가드를 사용하면 더욱 견고하고 유연한 타입 시스템을 구축할 수 있습니다. 이를 통해 런타임 시 타입 에러를 방지하고, 코드의 재사용성을 높일 수 있습니다.
이러한 타입 가드를 주로 사용하여 코드를 구현함으로써 더욱 안정적이고 강력한 TypeScript 애플리케이션을 개발할 수 있습니다.
더 많은 정보를 원하실 경우 TypeScript 공식 문서를 참고하시기 바랍니다.