[typescript] 타입 가드를 사용한 객체 프로퍼티 검사

타입스크립트에서는 타입 가드를 사용하여 객체의 프로퍼티를 안전하게 확인할 수 있습니다.

타입 가드란 무엇인가요?

타입 가드는 런타임에 발생할 수 있는 예외나 오류를 줄이기 위해 타입 시스템을 강화하는데 사용되는 패턴입니다. 이를 사용하면 코드 실행 중 타입에 관련된 안전하지 않은 작업을 방지할 수 있습니다.

객체 프로퍼티를 검사하는 타입 가드 작성

예를 들어, 다음과 같이 user 객체가 있다고 가정해봅시다.

interface User {
  name: string;
  age?: number;
}

const user: User = { name: 'John' };

만약 age 프로퍼티를 가진 user 객체를 안전하게 다루기 위해 타입 가드를 작성하고 싶다면, 다음과 같이 작성할 수 있습니다.

function isUserWithAge(obj: any): obj is User {
  return 'age' in obj;
}

위의 isUserWithAge 함수는 obj 객체에 age 프로퍼티가 있는지를 확인하여 User 타입인지를 판별합니다.

타입 가드를 사용한 안전한 프로퍼티 접근

타입 가드를 작성한 후에는 안전한 프로퍼티 접근을 보장할 수 있습니다.

if (isUserWithAge(user)) {
  console.log(user.age);
} else {
  console.log('User has no age specified');
}

이와 같이 타입 가드를 사용하면 더욱 안전하고 견고한 코드를 작성할 수 있습니다.

결론

타입 가드를 사용하여 객체의 프로퍼티를 안전하게 접근하는 것은 타입스크립트 코드를 더욱 견고하게 만들어 줍니다. 런타임에 발생할 수 있는 예외를 사전에 방지하여 안정성을 향상시키는 데 유용합니다.

참고 문헌: 타입 가드(Type Guards)