강의

멘토링

커뮤니티

Inflearn Community Q&A

sksung6933's profile image
sksung6933

asked

TypeScript Introduction - From Basics to Practice

Interface that defines the structure of functions

인터페이스와 옵셔널 파라미터...

Written on

·

395

1

// 3. 함수의 스펙(구조)에 interface 활용
interface SumFunction {
    (a:number, b?:number): number;
}


var sum: SumFunction;
sum = function(a:number, b?:number): number {
    return a + b;
}

console.log(sum(1));     // NaN
console.log(sum(1, 2));   // 3

위에가 제 소스코드인데,

return a + b; 의  b 밑에 빨간 에러줄이 뜨고,
읽어봤더니 [개체가 'undefined'인 것 같습니다.] 라고 나왔습니다.

실제로 컴파일하고 콘솔로 찍어봤더니

console.log(sum(1));       ->  NaN
console.log(sum(1, 2));   ->  3

이 나오던데,

console.log(sum(1));        -> 1
console.log(sum(1, 2));    -> 3

이렇게 나오게 하려면 코드 수정을 어떻게 해야 할까요?

 
javascripttypescriptes6

Answer 1

0

captain님의 프로필 이미지
captain
Instructor

안녕하세요, 이 다음에 주신 질문과 연관이 있는 것 같은데 파라미터가 하나가 넘어가면 함수의 로직이 정상적으로 실행되지 않아야 할 것 같네요 :)

sksung6933's profile image
sksung6933

asked

Ask a question