-
카테고리
-
세부 분야
프로그래밍 언어
-
해결 여부
미해결
인터페이스와 옵셔널 파라미터...
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
이렇게 나오게 하려면 코드 수정을 어떻게 해야 할까요?
답변을 작성해보세요.
0
장기효(캡틴판교)
지식공유자2022.07.19
안녕하세요, 이 다음에 주신 질문과 연관이 있는 것 같은데 파라미터가 하나가 넘어가면 함수의 로직이 정상적으로 실행되지 않아야 할 것 같네요 :)
답변 1