더북(TheBook)

이처럼 타입스크립트가 추론을 통해 타입을 알아낼 수 있는 경우 직접 <>에 타입을 넣지 않아도 됩니다. 실제로도 직접 넣지 않는 경우가 더 많습니다.

타입스크립트 5.0 버전에서는 상수 타입 매개변수가 추가되었습니다.

function values<T>(initial: T[]) {
  return {
    hasValue(value: T) { return initial.includes(value) },
  };
}

const savedValues = values(["a", "b", "c"]);
savedValues.hasValue("x");

이 코드에서 타입 매개변수 T는 무엇으로 추론될까요? ['a', 'b', 'c']T[]인 상황입니다. ['a', 'b', 'c']string[]으로 추론되므로 Tstring이 됩니다. 그래서 value 매개변수도 string이 되고, hasValue("x")를 해도 문제가 없습니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.