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

개발을 하다 보면 종종 변수가 null 또는 undefined인지를 체크해야 하는 상황이 있습니다. TypeScript에서는 이를 위해 타입 가드(type guard) 함수를 사용하여 변수의 타입을 보다 안전하게 체크할 수 있습니다.

타입 가드 함수란?

타입 가드는 특정 조건을 만족하는 경우, 해당 변수의 타입을 좀 더 구체적으로 추론할 수 있도록 도와주는 함수입니다. 주로 ‘typeof’, ‘instanceof’, ‘in’ 연산자 등을 사용하여 타입을 체크합니다.

null 체크를 위한 타입 가드 함수

아래는 변수가 null 또는 undefined인지를 체크하여 안전하게 접근할 수 있는 타입 가드 함수의 예시입니다.

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

이 함수는 제네릭 타입 T를 입력받아 해당 변수가 null 또는 undefined가 아닌 경우 true를 반환하는 타입 가드 함수입니다. 이 함수를 사용하면 변수가 null이 아님이 보장된 상태에서 안전하게 접근할 수 있습니다.

사용 예시

아래는 위에서 작성한 타입 가드 함수를 사용한 예시 코드입니다.

function greet(name: string | null) {
  if (isNotNullOrUndefined(name)) {
    console.log(`Hello, ${name.toUpperCase()}!`);
  } else {
    console.log('Hello, there!');
  }
}

greet('John'); // 출력: Hello, JOHN!
greet(null); // 출력: Hello, there!

위 예시에서는 greet 함수 내에서 name 변수가 null이 아님이 보장된 상태에서 안전하게 접근할 수 있도록 타입 가드 함수를 활용하고 있습니다.

마무리

타입 가드 함수를 활용하면 TypeScript 코드에서 null 또는 undefined 등을 안전하게 체크하고, 해당 변수를 안전하게 접근할 수 있습니다. 이를 통해 코드의 안정성을 높일 수 있습니다.

참고 문헌: TypeScript 공식 문서 - 타입 가드