더북(TheBook)

타입스크립트는 배열을 추론할 때 요소들의 타입을 토대로 추론합니다. 빈 배열은 any[]로 추론되므로 주의해야 합니다.

const arr3 = [1, 3, 5]; 
// const arr3: number[]
const arr4 = [1, '3', 5]; 
// const arr3: (string | number)[]
const arr5 = []; 
// const arr3: any[]

arr3 배열의 요소는 전부 number 타입이라 arr3number[]로 추론됩니다. arr4에는 '3' 문자열이 들어 있어서 요소가 string이거나 number 타입입니다. 따라서 타입스크립트는 (string | number)[] 로 추론합니다. | 연산자는 2.6절에서, any[]는 2.7.1절에서 다시 언급합니다.

이러한 추론에는 한계도 있습니다. 1.3절에서 봤던 문제를 다시 보겠습니다.

const array = [123, 4, 56];
array[3].toFixed();
신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.