[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 공식 문서를 참고하시기 바랍니다.