[typescript] undefined 체크를 위한 타입 가드 함수 작성 방법

TypeScript에서 비동기 함수나 다른 일부 상황에서 값이 undefined일 수 있다면, 해당 값이 정의되어 있는지 검사하는 것이 중요합니다. 이를 위해 타입 가드 함수를 작성하여 값의 타입을 보다 안전하게 처리할 수 있습니다.

아래는 undefined 체크를 위한 타입 가드 함수를 작성하는 방법에 대한 예시입니다.

예시

function isDefined<T>(value: T | undefined): value is T {
  return value !== undefined;
}

function processValue(value: string | undefined) {
  if (isDefined(value)) {
    // value가 정의되어 있는 경우 안전하게 사용할 수 있음
    console.log(value.toLowerCase());
  } else {
    // value가 undefined인 경우 처리할 내용 작성
    console.log('Value is undefined');
  }
}

let testValue: string | undefined = 'Hello';
processValue(testValue); // 출력: hello

testValue = undefined;
processValue(testValue); // 출력: Value is undefined

위 예시에서 isDefined 함수는 제네릭 타입 T를 받아 해당 값이 정의되어 있는지를 검사하고 타입 가드로 동작합니다. processValue 함수에서는 isDefined를 사용하여 값이 정의되어 있는지 확인한 후 안전하게 사용하였습니다.

결론

undefined 체크를 위한 타입 가드 함수를 작성하여 TypeScript 코드에서 값의 유무를 안전하게 검사할 수 있습니다.

이를 통해 코드의 안정성을 높이고 예기치 않는 오류를 방지할 수 있습니다.

참고 자료