[TS] 배열과 튜플

DT-HYUNJUN·2023년 12월 7일

Typescript

목록 보기
2/11

배열과 튜플

배열

요소들의 타입이 하나일 때

배열의 타입을 정의할 때는 배열 요소의 타입[]를 붙여서 정의한다.

// 배열
let numArr: number[] = [1, 2, 3] 			// number 배열
let strArr: string[] = ["Hello", "World"] 	// string 배열
let boolArr: boolean[] = [true, false] 		// boolean 배열

요소들의 타입이 여러 개일 때

만약 배열의 요소가 한 가지의 타입만 있는 것이 아니라 여러 타입의 요소가 들어있다면 유니온 타입(|)으로 묶어주면 된다.

let multiArr: (number | string)[] = [1, "Hello"]  // number, string 배열

다차원 배열

다차원 배열의 경우에는 아래와 같이 []를 한번 더 묶어주면 된다.

let dobuleArr: number[][] = [
  [1, 2, 3],
  [4, 5, 6]
]

숫자형 배열(number[])인 [1, 2, 3], [4, 5, 6] 들로 이루어진 배열이므로
number[]에다가 []를 한번 더 묶어주는 식으로 타입을 지정하면 된다.

튜플

튜플은 Typescript에서 제공하는 타입으로, 길이와 타입이 고정된 배열을 뜻한다.

예를 들어, number 타입이면서 길이가 2인 배열의 타입을 지정하려고 한다면 아래와 같이 작성하면 된다.

let tup1: [number, number] = [1, 2]

이렇듯 타입을 지정하려는 배열의 각 요소들의 타입을 배열로 묶어서 표현하면 된다.

let tup2: [number, string] = [1, "Hello"]
let tup3: [number, string, boolean] = [1, "Hello" true]

여기서 주의할 점은 튜플은 Typescript에서만 제공하는 타입이고, 컴파일하면 Javascript에서는 배열로 인식하게 된다.

그러기에 튜플에 배열 메서드를 사용하여 배열을 조작할 수 있다.

let tup4: [number, string] = [1, "2"]
tup4.push(true)

이렇게 push()메서드로 배열에 true를 추가해도 아무런 에러가 나지 않기에 튜플을 사용할 때는 주의가 필요하다.

0개의 댓글