[typescript] 타입 가드를 사용한 모델 검증 방법
TypeScript를 사용하면 정적 타입 검사를 통해 코드의 안정성을 높일 수 있습니다. 하지만 때로는 입력된 모델을 런타임에서도 검증해야 하는 상황이 발생할 수 있습니다.
이때 타입 가드를 사용하면 효과적으로 모델을 검증할 수 있습니다.
타입 가드란?
타입 가드(Type Guard)는 특정한 타입으로 값의 타입을 좁히는 역할을 하는 TypeScript의 기능입니다. 이를 활용하여 모델의 속성을 검증하고 유효성을 확인할 수 있습니다.
interface Car {
brand: string;
model: string;
year: number;
}
function validateCar(model: any): model is Car {
return (
typeof model.brand === 'string' &&
typeof model.model === 'string' &&
typeof model.year === 'number'
);
}
위 예제에서 validateCar
함수는 Car
타입으로 좁히는 역할을 하는 타입 가드입니다.
타입 가드를 활용한 모델 검증
위에서 정의한 Car
인터페이스를 가지고 타입 가드를 사용하여 모델을 검증해보겠습니다.
function processCar(model: any) {
if (validateCar(model)) {
// model은 Car 타입으로 좁혀졌으므로 안전하게 Car의 속성을 사용할 수 있습니다.
console.log(`${model.brand} ${model.model} (${model.year})`);
} else {
console.log('잘못된 모델입니다.');
}
}
let myCar = { brand: 'Tesla', model: 'Model 3', year: 2021 };
processCar(myCar); // 출력: Tesla Model 3 (2021)
processCar
함수에서 validateCar
함수를 사용하여 모델을 검증하고, 유효한 모델인 경우 안전하게 Car
의 속성을 사용할 수 있습니다.
타입 가드를 활용하면 TypeScript에서 모델을 런타임에서도 안전하게 검증할 수 있으며, 코드의 안정성을 높일 수 있습니다.
결론
타입 가드를 사용하면 TypeScript에서 런타임 환경에서도 모델을 안전하게 검증할 수 있습니다. 모델이 유효한지 확인하여 안전하게 사용할 수 있으며, 코드의 안정성을 확보할 수 있습니다.
타입 가드는 TypeScript의 강력한 기능 중 하나이며, 모델 검증 등 다양한 상황에서 유용하게 활용할 수 있습니다.