배열과 튜플

Haz·2024년 2월 13일
0

개발여행기

목록 보기
19/24
post-thumbnail

배열 타입

배열을 저장하는 변수 이름 뒤에 타입 주석으로 배열 요소 타입[] 형식으로 배열 타입 정의

1. 기본 방식

let numArr: number[] = [1,2,3];
let strArr: string[] = ["hi", "hello", "Good Morning"];
let boolArr: boolean[] = [true, false];

2. 제네릭 문법 방식

// 제네릭 문법으로 정의
let boolArr: Array<boolean> = [true, false];

3. 유니온 타입 방식: 여러 타입의 배열 요소를 갖는 배열 타입 정의하기

let multiArr: (number | string)[] = [1, "hello"];

4. 다차원 배열 타입

let doubleArr : number[][] = [
  [1, 2, 3], 
  [4, 5],
];

튜플 타입

TS의 특수한 타입으로 길이와 타입이 고정된 배열을 의미

// 길이가 2로 고정된 2개의 number 타입 요소를 갖는 튜플 타
let tup: [number, number] = [1,2];

// 다양한 타입을 포함한 튜플 타입
let tupDiff: [number, string, boolean] = [1, "hello", true];

튜플은 컴파일 후 자바스크립트 배열로 변환되므로 결국 배열 타입이다. 그러므로 배열 메서드인 push , pop 을 이용해 고정된 길이를 무시하고 요소 추가 혹은 삭제 가능하다.

따라서 튜플을 사용할 때는 배열 메서드를 이용해 요소를 추가하거나 삭제하는 등 연산을 할 때 각별히 주의해야한다.

똑같은 배열인데 굳이 튜플?

튜플은 변수에 저장할 배열 원소의 순서에 따라 타입을 지정할 수 있다는 특징이 있다.

예를 들어, 회원 정보를 배열로 저장한다고 했을 때 [이름, 나이] 순으로 저장하겠다는 규칙을 튜플 타입으로 지정해둔다면 [나이, 이름] 순으로 요소가 추가되었을 때 오류로 인지하고 수정할 수 있다.

profile
나도 재밌고, 남들도 재밌는 서비스 만들어보고 싶다😎

0개의 댓글