inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

타입스크립트 입문 - 기초부터 실전까지

함수 구조를 정의하는 인터페이스

인터페이스 질문

해결된 질문

187

seed

작성한 질문수 7

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로 알아서 다 오류로 찾아주는데 두 번씩 작성하는 이유가 궁금합니다.

es6 typescript javascript

답변 1

2

캡틴판교

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

TSLint

0

66

1

vscode eslint server 오류

0

75

1

안녕하세요. 기본타입- 튜플, 객체, 진위값 부분의 영상의 화면이 나오질 않습니다.

0

77

1

live server 설치 오류

1

368

2

강의 교안 pdf 는 따로 제공하지않나요?

0

284

2

npm i 설치 이유 문의

1

403

3

index.ts Delete `␍`eslintprettier/prettier 오류(빨간줄) 해결

2

289

3

vue 에서 jquery 사용 문제

1

692

2

TSLint 확장 프로그램은 현재 지원하지 않는다고 합니다.

1

499

2

강의 내용처럼 노란 밑줄이 작동하지 않아서 유사 질문들을 실행해보았는데요

1

542

1

section 3-1 JSdoc 타입이 추론되지 않아서 다음과 같이 수정했는데 이거 맞나요?

1

452

2

함수에 리턴 안됐다고 노란밑줄이 쳐져야하는데 없습니다

2

455

1

파일이 다른데 식별자가 중복되었다고 뜹니다.

1

443

2

빨간줄 에러 질문드립니다

1

489

2

마우스 갖다대면 리턴값 설명 나오는 거 질문드려요

1

356

2

js에서 @ts-check 적어도 체크하지 못하는 문제입니다

2

393

2

index.html에서 타입스크립트 콘솔 찍는 법 질문드립니다

1

565

2

섹션 1-3 추론 질문드립니다

1

354

2

왜 api쪽에는 왜 에러가 안나는지 궁금합니다.

1

323

2

const item1을 선언했을 때 타입을 선언해줘도 괜찮을까요?

1

390

1

전화번호부 타입선언

1

265

2

타입을 전역으로 분리

1

592

2

객체 선언 시 구분자는 쉼표, 세미콜론 모두 사용가능한건가요?

1

459

1

Git 관련 질문이 있습니다

1

669

2