[typescript] 널 복합 연산자를 활용한 타입 가드 함수 작성 방법

널 복합 연산자(??)는 TypeScript에서 널 및 정의되지 않은 값을 처리하기 위한 유용한 도구입니다. 널 복합 연산자를 활용하여 타입 가드 함수를 작성하는 방법은 다음과 같습니다.

1. 널 복합 연산자 소개

널 복합 연산자(??)는 좌변 피연산자가 null 또는 undefined이면 우변 피연산자를 반환하고, 그렇지 않으면 좌변 피연산자를 반환합니다. 이를 활용하여 타입 가드 함수를 작성할 수 있습니다.

2. 타입 가드 함수 작성

아래는 널 복합 연산자를 활용한 타입 가드 함수의 예시 코드입니다.

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

// 사용 예시
function processValue(value: string | null) {
  if (isDefined(value)) {
    // value가 null 또는 undefined가 아닌 경우의 로직
  } else {
    // value가 null 또는 undefined인 경우의 로직
  }
}

위 예시에서 isDefined 함수는 널 복합 연산자를 활용하여 valuenull 또는 undefined인지를 확인하고, 해당 경우에 false를 반환합니다. 따라서 value is T 형태의 타입 가드를 제공하게 됩니다. 이를 통해 processValue 함수 내에서는 타입스크립트가 value를 널 복합 연산자를 통해 올바르게 처리할 수 있습니다.

위와 같이 널 복합 연산자를 활용하여 타입 가드 함수를 작성할 수 있으며, 이를 통해 안전하고 명확한 코드를 구현할 수 있습니다.

결론

널 복합 연산자를 활용한 타입 가드 함수는 TypeScript에서 타입 안정성을 확보하는 데 유용한 도구입니다. 코드를 작성할 때 해당 기능을 적절히 활용하면, 널 및 정의되지 않은 값을 다룰 때 발생할 수 있는 문제를 줄일 수 있습니다.