• 카테고리

    질문 & 답변
  • 세부 분야

    프로그래밍 언어

  • 해결 여부

    해결됨

인터페이스 질문

20.12.23 14:30 작성 조회수 125

4

// 함수 스펙(구조)에 인터페이스를 활용
interface SumFunction {
  (anumberbnumber): number;
}

var sumSumFunction;
sum = function(anumberbnumber): number {
  return a + b;
}

변수 sum에 SumFunction 이라는 interface를 정의했는데 아래 sum 함수에 (a: number, b:number): number 타입을 정의해줄 필요가 있나요?

// 함수 스펙(구조)에 인터페이스를 활용
interface SumFunction {
  (anumberbnumber): number;
}

var sumSumFunction;
sum = function(ab) {
  return a + b;
}
sum(1 + "2")

위와 같이 작성해도 변수 sum에 정의한 interface로 알아서 다 오류로 찾아주는데 두 번씩 작성하는 이유가 궁금합니다.

답변 1

답변을 작성해보세요.

2

안녕하세요 seed님, 제가 답변이 조금 늦었네요 :) 말씀하신 것처럼 함수의 형식을 인터페이스로 타입 정의해 놓으셨다면 해당 함수에 중복으로 타입을 정의하실 필요는 없습니다. 아마 제가 강의 진행하면서 여러 가지 타입 정의 방식을 알려드리다가 저렇게 코드가 나온 것 같아요! 좋은 피드백 감사합니다 :)