튜플은 배열의 서브타입이다.
길이가 고정되어있고 각 인덱스의 타입이 알려진 배열의 일종이다.
튜플은 선언시 타입을 명시해주어야 한다.
let a:[number]=[1]
let b:readonly[number,string]=[1,'star'];
let c:[number,number?][]=[
[1.2],
[2,5],
[4.1,6.2]
]
let c:[number,number?][]=[
[1.2],
[2,5],
[4.1,6.2]
]
이것은 무엇일까? 언뜻보면 이게 뭔지 감이 안잡힐 수 있다. (내가)
이를 풀이해보면 이런 뜻이된다.
type = tuple
선언할 것 = Array
즉 배열에 튜플을 넣을 것이라는 것이다.
이것과 비교해보자
let c: string[]=['a'];
let ck: [number,number?][]=[1,2];
변수 c는 string타입을 배열에 담을 것을 명시한 것이고
ck는 튜플 타입을 배열에 담을 것을 명시한 것이다.
[][]가 등장해 뭐지? 새로운 문법인가?라고 착각하는 것이다.