[typescript] 타입 가드 함수를 활용한 유니온 타입의 자동 타입 가드
유니온 타입을 사용할 때 특정 타입의 속성을 체크하고 검증하기 위해서 타입 가드 함수를 사용할 수 있습니다. 타입스크립트에서는 유니온 타입을 사용하여 여러 타입을 하나의 타입으로 정의할 수 있습니다.
예를 들어, number
와 string
타입을 갖는 변수를 다룰 때, 각 타입에 맞는 동작을 구현하기 위해 타입 가드 함수를 사용할 수 있습니다.
타입 가드 함수
타입 가드 함수는 parameterName is Type
형식을 가지는 타입 가드 식을 반환합니다. 이를 통해 유니온 타입의 변수를 보다 정확하게 검사할 수 있습니다.
function isString(value: number | string): value is string {
return typeof value === 'string';
}
function isNumber(value: number | string): value is number {
return typeof value === 'number';
}
위 예제에서, isString
과 isNumber
함수는 각각 string
타입과 number
타입의 값을 검사합니다.
자동 타입 가드
타입스크립트는 유니온 타입 내의 각 타입에 따라 자동으로 타입 가드를 수행합니다. 예를 들어, 다음과 같은 코드가 있다고 가정해봅시다.
function processValue(value: number | string) {
if (typeof value === 'string') {
// value는 여기서 자동으로 string 타입으로 추론됨
console.log(value.toUpperCase());
} else {
// value는 여기서 자동으로 number 타입으로 추론됨
console.log(value.toFixed(2));
}
}
위의 예제에서, processValue
함수 내에서 value
의 타입에 따라 자동으로 타입 가드가 수행되어 해당 블록 내에서는 정확한 타입 추론이 가능합니다.
타입 가드 함수를 활용하여 유니온 타입을 보다 안전하게 처리할 수 있으며, 코드의 가독성과 유지보수성을 향상시킬 수 있습니다.
이러한 타입 가드 함수의 활용을 통해 코드를 보다 안정적으로 작성할 수 있습니다.