[typescript] 배열 타입을 확인하는 타입 가드 함수 작성 방법

먼저, Array.isArray 메서드를 사용하여 배열 여부를 확인하는 타입 가드 함수를 작성할 수 있습니다. 다음은 배열 타입을 확인하는 타입 가드 함수의 예시입니다.

function isArrayType<T>(value: T): value is T extends any[] ? T : never {
  return Array.isArray(value);
}

이 함수에서 value is T extends any[] ? T : never는 타입 추론을 위한 문법으로, 해당 함수의 반환 값이 true인 경우 value가 배열 타입인 것을 유추할 수 있도록 도와줍니다.

이제 이 타입 가드 함수를 사용하여 배열 타입을 확인할 수 있습니다.

const arr: string[] = ['a', 'b', 'c'];

if (isArrayType(arr)) {
  // arr은 배열 타입입니다.
  console.log('배열입니다.');
} else {
  // arr은 배열 타입이 아닙니다.
  console.log('배열이 아닙니다.');
}

위의 예시에서 isArrayType 함수를 사용하여 arr의 타입을 확인하고, 그에 따른 로직을 수행합니다.

이와 같이 Typescript에서 배열 타입을 확인하는 타입 가드 함수를 작성하고 활용할 수 있습니다.