인프런 커뮤니티 질문&답변
인터페이스 질문
해결된 질문
작성
·
187
4
// 함수 스펙(구조)에 인터페이스를 활용
interface SumFunction {
(a: number, b: number): number;
}
var sum: SumFunction;
sum = function(a: number, b: number): number {
return a + b;
}
변수 sum에 SumFunction 이라는 interface를 정의했는데 아래 sum 함수에 (a: number, b:number): number 타입을 정의해줄 필요가 있나요?
// 함수 스펙(구조)에 인터페이스를 활용
interface SumFunction {
(a: number, b: number): number;
}
var sum: SumFunction;
sum = function(a, b) {
return a + b;
}
sum(1 + "2")
위와 같이 작성해도 변수 sum에 정의한 interface로 알아서 다 오류로 찾아주는데 두 번씩 작성하는 이유가 궁금합니다.
답변 1
2
캡틴판교
지식공유자
안녕하세요 seed님, 제가 답변이 조금 늦었네요 :) 말씀하신 것처럼 함수의 형식을 인터페이스로 타입 정의해 놓으셨다면 해당 함수에 중복으로 타입을 정의하실 필요는 없습니다. 아마 제가 강의 진행하면서 여러 가지 타입 정의 방식을 알려드리다가 저렇게 코드가 나온 것 같아요! 좋은 피드백 감사합니다 :)




