더북(TheBook)

5.0 버전에서는 상수 타입 매개변수가 도입되어 다음과 같이 해도 됩니다.

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

const savedValues = values(["a", "b", "c"]);
savedValues.hasValue("x");
// Argument of type '"x"' is not assignable to parameter of type '"a" | "b" | "c"'.

타입 매개변수 앞에 const 수식어를 추가하면 타입 매개변수 T를 추론할 때 as const를 붙인 값으로 추론됩니다.

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