[typescript] 함수의 매개변수와 리턴 타입이 tuple인 경우

TypeScript에서 함수의 매개변수와 리턴 타입이 Tuple로 정의되는 경우에 대해 알아보겠습니다.

Tuple 타입

Tuple은 다른 타입의 요소들을 순서대로 포함하는 자료구조입니다. 다른 언어에서의 배열과 유사하지만, 각 요소의 타입이 정확히 지정될 수 있습니다.

예를 들어, 길이가 2인 Tuple 타입은 다음과 같이 정의할 수 있습니다.

let x: [string, number];
x = ['hello', 10]; // 올바른 할당
x = [10, 'hello']; // 오류: number 타입은 string 타입에 할당될 수 없음

함수의 매개변수와 리턴 타입이 Tuple인 경우

함수에서 Tuple 타입을 매개변수와 리턴 타입으로 사용하는 경우, 다음과 같이 정의할 수 있습니다.

function returnTuple(): [string, number] {
  return ['hello', 10];
}

function receiveTuple(tupleParam: [string, number]): void {
  let [str, num] = tupleParam;
  console.log(`Received: ${str}, ${num}`);
}

위의 예제에서 returnTuple 함수는 stringnumber 타입의 요소를 가지는 Tuple을 리턴하고, receiveTuple 함수는 해당 Tuple을 매개변수로 받아 값을 출력합니다.

결론

Tuple은 TypeScript에서 정적 타입 시스템을 활용하여 다양한 데이터 형태를 다루는 데 유용한 도구입니다. 함수의 매개변수와 리턴 타입으로 Tuple을 사용함으로써 코드의 가독성을 높이고 타입 안정성을 확보할 수 있습니다.

더 자세한 내용은 TypeScript 공식 문서를 참고하세요.