0
이 같은 판별으로 열거와 차별 노동 조합을 사용할 수 있습니다 타이프 2.0로 :관용적 타이프 라이터 열거 차별 연합 (EU)
- 타이프 2.3로
export function getInstance(code: Enum.Type1, someParam: OtherType1): MyReturnType1; export function getInstance(code: Enum.Type2, someParam: OtherType2): MyReturnType2; export function getInstance(code: Enum, someParam: UnionOfOtherTypes): UnionOfReturnTypes { switch (code) { case Enum.Type1: return new ReturnType1(someParam as OtherType1); case Enum.Type2: return new ReturnType2(someParam as OtherType2); } }
이 숙어 방법이 있나요 이것을하기 위해?
- 캐스팅하지 않고 someParam의 유형을 추론 할 수 있습니까?
- 제네릭을 사용하거나 함수 매개 변수를 변경하여 형식 정의를 단순화 할 수 있습니까? 그렇다면 최종 함수 만 정의하면됩니까?
const getInstance =() => {};
나는 항상 책을 읽었습니다. :) 감사합니다! 차별화 된 노동 조합의 반환 유형을 매개 변수를 기반으로 유추 할 수 있습니까? 즉 코드가 A 유형 인 경우 반환 유형이 B 유형임을 알고 있습니다. – chris
예. 반환 유형에 대한 공용체의 모든 명령문을 반환합니다. 예 : 코드의 다른 섹션에서'string'과'number'를 반환하면 리턴 타입은'string | 숫자 ' – basarat