본문 바로가기

TypeScript

배열과 튜플

배열

배열 타입은 자바스크립트 Array 값의 타입을 나타내는데 쓰인다.

원소 타입 뒤에 대괄호([])를 붙여 표현한다.

const pibonacci: number[] = [0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55];
const myFavoriteBeers: string[] = ['Imperial Stout', 'India Pale Ale', 'Weizenbock'];

튜플

튜플 타입을 이용해 원소의 수와 각 원소의 타입이 정확히 지정된 배열의 타입을 정의할 수 있다.

const nameAndHeight: [string, number] = ['김지혜', 170]

튜플 타입 변수는 정확히 명시된 개수 만큼의 원소만을 가질 수 있다. 만약 타입 정의보다 더 많은, 혹은 더 적은 원소를 갖는 배열을 할당한다면 에러를 낸다.

**const invalidNameAndHeight: [string, number] = ['김지혜', 170, 53];
// error TS2322: Type '[string, number, boolean]' is not assignable to type '[string, number]'.
//   Types of property 'length' are incompatible.
//     Type '3' is not assignable to type '2'.**

다만 튜플 타입의 값을 Array 프로토타입의 메소드를 통해 조작하는 것은 금지되지 않는다는 점에 유의해야 한다. 예를 들어 아래와 같은 코드는 에러를 내지 않는다.

const validNameAndHeight: [string, number] = [**'김지혜', 170**];
validNameAndHeight.push(53); // no error

'TypeScript' 카테고리의 다른 글

함수  (0) 2019.10.30
타입 별칭  (0) 2019.10.30
객체  (0) 2019.10.30
기본 타입  (0) 2019.10.30
기초 문법  (0) 2019.10.30