• 카테고리

    질문 & 답변
  • 세부 분야

    프로그래밍 언어

  • 해결 여부

    미해결

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

22.07.19 15:28 작성 조회수 285

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

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

 

답변 1

답변을 작성해보세요.

0

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