[typescript] 타입스크립트에서의 데이터 유효성 검사

타입스크립트는 정적 타입 체크를 제공하여 코드의 안전성을 높이고 개발자의 실수를 줄여줍니다. 그러나 종종 데이터를 유효성 검사(validating)해야 하는 상황이 있을 수 있습니다. 이번 포스트에서는 타입스크립트에서 데이터 유효성 검사를 하는 방법을 알아보겠습니다.

1. 타입 가드(Type Guards)

타입 가드를 사용하면 런타임에 특정 타입의 값인지를 확인할 수 있습니다. 예를 들어, 아래와 같이 typeof를 사용하여 숫자 타입 여부를 확인할 수 있습니다.

function isNumber(value: any): value is number {
  return typeof value === 'number';
}

// 사용 예
if (isNumber(input)) {
  // input은 숫자 타입입니다.
} else {
  // input은 숫자 타입이 아닙니다.
}

2. 유효성 검사 라이브러리 활용

타입스크립트에서는 유효성 검사를 도와주는 라이브러리들도 많이 있습니다. 대표적으로 class-validatorjoi 등이 있습니다. 이러한 라이브러리를 사용하여 데이터의 유효성을 간편하게 검사할 수 있습니다.

import * as Joi from 'joi';

const schema = Joi.object({
  username: Joi.string().alphanum().min(3).max(30).required(),
  password: Joi.string().pattern(new RegExp('^[a-zA-Z0-9]{3,30}$')).required(),
});

// 유효성 검사
const result = schema.validate({ username: 'example', password: 'password' });
if (result.error === undefined) {
  // 데이터가 유효합니다.
} else {
  // 데이터가 유효하지 않습니다.
}

마치며

타입스크립트에서는 타입 가드와 유효성 검사 라이브러리를 활용하여 데이터의 유효성을 간편하게 확인할 수 있습니다. 개발할 때 유효성 검사를 통해 안전하고 신뢰할 수 있는 코드를 만들 수 있도록 노력해보세요.

참고문헌: