• 카테고리

    질문 & 답변
  • 세부 분야

    프로그래밍 언어

  • 해결 여부

    미해결

오버로딩 예제이지만, 저게 반공변성에 해당되는 건지 궁금합니다.

22.12.30 03:21 작성 조회수 198

0

interface Add {
  (x: number, y: number): number;
  (x: string, y: string): string;
}

이것도 넓은 타입의 파라미터를 좁은 타입의 파라미터에
넣은 것으로 보고 반공변성에 해당한다고 볼 수 있나요?
const add: Add = (x: any, y: any) => x + y;

답변 1

답변을 작성해보세요.

0

반대도 체크해야 합니다.

(x: any, y:any) => any인 함수에 Add를 대입할 수 없어야 반공변성입니다