[typescript] 유니온 타입과 타입 가드를 함께 사용하는 예시 코드를 보여주세요.
유니온 타입과 타입 가드를 함께 사용하여 타입 안전성을 높일 수 있습니다. 유니온 타입을 사용하면 여러 가지 타입 중 하나일 수 있는 값을 표현할 수 있으며, 타입 가드는 해당 값이 어떤 타입인지를 좀 더 구체적으로 확인하는 용도로 사용됩니다.
예를 들어, 다음과 같이 유니온 타입과 타입 가드를 함께 사용할 수 있습니다.
type User = {
id: number;
username: string;
} | {
id: string;
username: string;
};
function getUserId(user: User): number | string {
if (typeof user.id === 'number') {
return user.id;
} else {
// 타입 가드를 사용하여 user.id를 number로 변환
return parseInt(user.id, 10);
}
}
위 예시에서 User
타입은 id
가 number
혹은 string
일 수 있는 유니온 타입으로 정의되어 있습니다. 그리고 getUserId
함수에서 typeof
연산자를 사용하여 user.id
가 number
인지를 확인한 후, 해당하는 타입으로 반환값의 타입을 지정해주었습니다.
이렇게 유니온 타입과 타입 가드를 함께 사용하여 안전한 타입 변환을 보장할 수 있습니다.
더 자세한 내용은 공식 TypeScript 문서를 참고할 수 있습니다.