1. 배열 (Array)
배열은 동일한 타입의 데이터를 순서대로 나열한 것입니다.
- 기본 선언: 타입[] 또는 Array<타입> 형식을 사용합니다.
- 유니온 타입 배열: 여러 종류의 타입을 하나의 배열에 담고 싶을 때 (number | string)[] 처럼 소괄호로 묶어 선언합니다.
- 읽기 전용 배열 (ReadonlyArray): 배열의 요소를 변경하거나 추가할 수 없도록 잠그는 기능을 제공합니다.
let numbers : number[] = [1,2,3,4,5];
let fruits : string[] = ['apple', 'banana', 'orange'];
// 배열의 유니온 타입: 숫자와 문자열이 섞여도 OK
let mixedArray : (number | string)[] = [1, 'two', 3, 'four'];
// 읽기 전용: 수정하려고 하면 에러가 발생합니다.
let readOnlyArray : ReadonlyArray<number> = [1,2,3];
// readOnlyArray.push(4); ❌ 에러 발생
2. 튜플 (Tuple)
배열과 비슷해 보이지만, 정해진 개수와 순서에 따라 타입이 고정된 배열입니다.
- 특징: 각 인덱스마다 타입이 다르더라도 정확히 그 위치에 맞는 값이 들어와야 합니다.
- 활용: 데이터의 구조가 엄격해야 하는 상황(예: API 응답, 좌표계 [x, y])에서 유용합니다.
// 튜플 : 타입의 순서와 개수가 정해져 있다.
let greeting : [number, string, boolean] = [1, 'hello', true];
// greeting[0] = "world"; ❌ 0번째는 number여야 하므로 에러!
배열과 튜플 차이점
| 구분 | 배열 (Array) | 튜플 (Tuple) |
| 개수 제한 | 제한 없음 (가변적) | 정해진 개수만 허용 |
| 타입 순서 | 동일한 타입이 반복됨 | 각 인덱스마다 타입이 다를 수 있음 |
| 선언 방식 | number[] | [number, string] |
| 주요 목적 | 같은 종류의 데이터를 나열할 때 | 서로 연관된 데이터 세트를 묶을 때 |
3. 스프레드 연산자 (Spread Operator)
점 세 개(...)를 사용하여 배열이나 객체의 요소를 낱개로 촤르르 펼치는(Unpack) 연산자입니다.
- 역할: 대괄호([])를 풀어서 안의 내용물만 꺼내온다고 생각하면 쉽습니다.
- 장점: 배열을 합치거나 기존 배열을 복사할 때 매우 직관적입니다.
let firstArray = [1, 2, 3];
let secondArray = [4, 5, 6];
// ... 이 대괄호를 풀어주기 때문에 [1, 2, 3, 4, 5, 6]이 됩니다.
let combineArray = [...firstArray, ...secondArray];
'FE > TypeScript' 카테고리의 다른 글
| [React] 리액트란 무엇인가? (0) | 2026.03.31 |
|---|---|
| [TypeScript] 타입스크립트의 객체지향언어 - 클래스와 객체, 접근지정자, getter와 setter (0) | 2026.03.31 |
| [TypeScript] 유니온 타입 / 타입별칭 / 타입가드 (0) | 2026.03.29 |
| [TypeScript] 타입스크립트의 열거형 (enum) / 리터럴 타입에 대해 알아보자. (0) | 2026.03.18 |
| [Typescript] 인터페이스 / 선택적 프로퍼티 (0) | 2026.03.18 |