배열 (Arrays)
배열은 자바스크립트의 배열과 크게 다르지 않다.
배열 타입 정의 방법
let numArr: number[] = [1,2,3];
let strArr: string[] = ["hello", "im", "고견"];
Array<배열요소타입> 형태로도 정의할 수 있다. (제네릭 방식)
let boolArr: Array<boolean> = [true, false, true];
다양한 타입 요소를 갖는 배열 타입 정의
|를 이용하면 여러 타입 중 하나를 만족하는 타입을 정의할 수 있는데, 이러한 문법을 유니온(Union) 타입이라고 한다.
let multiArr: (number | string)[] = [1, "hello"];
다차원 배열 타입 정의
다음과 같이 []를 연달아 작성해 다차원 배열 타입도 정의할 수 있다.
let doubleArr: number[][] = [
[1, 2, 3],
[4, 5],
];
튜플 (Tuples)
자바스크립트에 없는 타입스크립트의 특수한 타입으로 길이와 타입이 고정된 배열을 의미한다.
let tup1: [number, number] = [1, 2];
let tup2: [number, string, boolean] = [1, "2", true];

튜플을 사용하는 이유
다음과 같이 회원 정보를 2차원 배열로 저장하는 상황에서
const users = [
["이정환", 1],
["이아무개", 2],
["김아무개", 3],
["박아무개", 4],
];
const users = [
["이정환", 1],
["이아무개", 2],
["김아무개", 3],
["박아무개", 4],
[5, "조아무개"], // <- 새로 추가함
];
이렇게 기존 규칙과 다르게 순서를 잘못 배치할 수 있는데, 자바스크립트는 이런 문제를 확인할 방법이 없다.
같은 코드에 튜플로 타입을 정해준다면, 아래와 같이 타입에러가 발생해 실수를 방지할 수 있다.

'TIL' 카테고리의 다른 글
| [TS] 타입 별칭과 인덱스 시그니처 (0) | 2025.10.28 |
|---|---|
| [TS] 객체 타입 (0) | 2025.10.28 |
| [TS] 원시타입과 리터럴 타입 (0) | 2025.10.28 |
| 타입스크립트 컴파일러 옵션 설정 (0) | 2025.10.27 |
| 타입스크립트 실행 환경 설정 (0) | 2025.10.27 |
