☑️ 튜플이란?
- 튜플은 서로 다른 타입의 원소를 순서에 맞게 가질 수 있는 특수한 형태의 배열입니다.
☑️ 튜플과 배열의 차이
- 배열은 number[], string[] 처럼 같은 타입의 원소만 가질 수 있었어요.
- const testScores: number[] = [90, 85, 78, 92, “88”];
- 위의 코드처럼 마지막 원소를 string 타입으로 넣으면 에러가 발생하죠!
- 숫자만 넣어줘야 합니다. 즉, 같은 타입의 원소만 취급할 수 있어요.
- const testScores: number[] = [90, 85, 78, 92, “88”];
- 하지만, 튜플은 어떤 타입의 원소를 허용할 것인지 정의만 해주면 됩니다.
- 얼마든지 허용된 타입의 데이터들을 저장할 수 있어요!
☑️ 사용 사례
const person: [string, number, boolean] = ['Spartan', 25, false];
const person2: [string, number, boolean] = [25, 'Spartan', false]; // 오류!
- 여기서는 string, number, boolean이라는 3개의 각각 다른 타입의 데이터를 보관하게 정의를 했어요!
<aside> ⁉️ person이라는 튜플에 데이터를 더 저장하고 싶은데 그래도 상관없나요?
</aside>
- 원칙적으로는 데이터를 더 저장하는 것은 타입 안정성에 위배가 되는 행위에요!
- 따라서, 정의된 데이터 타입의 개수와 순서에 맞추어 저장을 하는 것이 필수입니다!
- 튜플에서도 배열의 메소드인 push를 사용하여 정의된 데이터 타입의 개수보다 더 저장할 순 있어요.
- 하지만, 이렇게 억지로 데이터를 넣으면 튜플 구조가 내부적으로 변경이 되니 좋은 선택은 아니에요!
'develop > type script' 카테고리의 다른 글
any,unknown, union (1) | 2023.12.20 |
---|---|
type script readonly (0) | 2023.12.20 |