앞에서 문제가 되었던 예제도 튜플로 해결할 수 있습니다.
const array = [123, 4, 56];
array[3].toFixed();
다음과 같이 수정하면 됩니다.
const array: [number, number, number] = [123, 4, 56];
array[3].toFixed();
// Object is possibly 'undefined'.
객체가 undefined일 수도 있다고 에러가 표시됩니다. undefined인 경우에는 toFixed 메서드를 쓰지 못하므로 알려주는 것입니다. 이렇듯 배열보다 더 정교한 타입 검사를 원한다면 튜플을 사용할 수 있습니다.
지금까지의 예시만 보면 튜플의 길이가 고정되어 있는 것 같아 보입니다. 이 책에서는 튜플을 길이가 고정된 배열이라고 설명하지 않고, 각 요소 자리에 타입이 고정되어 있는 배열이라고 설명했는데 그 이유가 있습니다.