더북(TheBook)
const strNumBools: [string, number, ...boolean[]]
  = ['hi', 123, false, true, false];
const strNumsBool: [string, ...number[], boolean]
  = ['hi', 123, 4, 56, false];
const strsNumBool: [...string[], number, boolean]
  = ['hi', 'hello', 'wow', 123, false];

...타입[] 표기를 통해 특정 타입이 연달아 나올 수 있음을 알릴 수 있기 때문입니다. strNumBools 변수는 첫 번째 요소의 타입이 string, 두 번째 요소의 타입이 number이면 되고, 세 번째부터는 boolean이면 됩니다. 이처럼 ...은 전개(spread) 문법으로 특정 자리에 특정 타입이 연달아 나옴을 표시할 수 있습니다.

타입이 아니라 값에 전개 문법을 사용해도 타입스크립트는 타입 추론을 해냅니다.

const arr1 = ['hi', true];
const arr = [46, ...arr1]; 
// const arr: (string | number | boolean)[]
신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.