공부기록/Typescript
[타입스크립트] 타입스크립트의 튜플 타입이란?
Jenner
2023. 1. 18. 17:14
주의 : 이 글은 udemy Typescript 강의를 듣고 공부를 위해 정리한 내용입니다
정확한 지식을 원하신다면 다른 글을 읽어주세요
튜플은 자바스크립트에는 없는 타입이다.
튜플의 형식
[1, 2]
단순히 Array처럼 보일 수 있으나,
이것은 길이와 타입이 순서대로 정해져있는 Array다.
더 구체적인 형식
const person : {
name: string;
age: number;
hobbies: string[];
role: [number, string];
} = {
name: "Jenner",
age: 20,
hobbies: ["coding", "singing"],
role: [2, "mother"]
}
person객체의 형식을 미리 : { } 로 지정해주었다.
그 안에는 role이라는 키의 형식을 지정해 주었는데,
이것이 바로 튜플 형식이다.
튜플은 길이와 타입을 미리 지정하는 것이다.
role 안에는 이제 첫번째는 number, 두번째는 string만이 들어간다.
타입스크립트 튜플의 한계
안타깝게도, 배열에 push를 해도 타입스크립트에서는 오류를 내지 않는다.
person.role.push("admin")
그러나 다른 타입을 대입하려고 한다면
그것은 오류로 나타나게 된다.
person.role[1] = 10;
타입을 지정할 때 role의 첫 번째는 number, 두 번째는 string이었다.
그런데 두 번째에 숫자타입을 대입하려고 한다면
오류가 나게 되는 것이다.