[typescript] 튜플과 배열의 차이점

이번 포스트에서는 타입스크립트에서 튜플과 배열의 차이점에 대해 알아보겠습니다.

튜플 (Tuple)

튜플은 고정된 요소 수를 가진 배열을 표현하는데 사용됩니다. 각 요소의 타입은 사전에 정의되어 있으며 인덱스를 통해 접근할 수 있습니다.

let x: [string, number];
x = ['hello', 10]; // 올바른 할당
x = [10, 'hello']; // 오류: 순서에 맞지 않음
x[3] = 'world'; // 오류: '3'은 'number' 타입이어야 합니다

튜플은 각 요소의 타입과 길이가 고정되어 있으므로 정적 타입 검사 시에 유연성과 안정성을 제공합니다.

배열 (Array)

반면 배열은 동적으로 크기가 조절될 수 있으며 모든 요소가 동일한 타입을 가질 필요는 없습니다. 배열은 순회(iteration)와 조작이 용이하며, 요소의 추가, 제거, 수정이 자유롭게 가능합니다.

let y: string[];
y = ['apple', 'banana', 'cherry'];
y.push('date'); // 배열에 요소 추가
y[1] = 'blueberry'; // 특정 인덱스의 요소 변경

결론

튜플은 고정된 길이의 배열이며, 각 요소의 타입이 미리 정의되어 있습니다. 반면 배열은 동적으로 크기가 변경될 수 있고, 요소의 타입이 혼합될 수 있습니다. 선택은 사용하고자 하는 데이터 구조와 목적에 따라 결정되어야 합니다.

참고 문헌:
타입스크립트 공식 문서 - 튜플
타입스크립트 공식 문서 - 배열