• 카테고리

    질문 & 답변
  • 세부 분야

    프로그래밍 언어

  • 해결 여부

    미해결

함수 매개변수에서 undefined가 뜨는 이유

20.11.14 13:46 작성 조회수 360

1

function foo1 ( a = 'seoul', b:number) {
return `${a} ${b}`; // string
} // foo1 (a: string | undefined, b : number) : string

foo1(10,50)// 10은 number이기에 들어갈수 X
다음 함수를 정의했을때 a매개변수가 undefined를 가질 수 있다고
뜨는데, a는 항상 string값이 기본으로 제공되기에 a에 인자를 전달하지
않아도 된다는 뜻에서 undefined가 타입으로 뜨는 건가요?
좋은 강의 항상 감사합니다.

답변 1

답변을 작성해보세요.

0

안녕하세요
a 의 타입은 함수 내부와 호출할 때가 다릅니다.
함수 내부에서는 undefined 일 수 없어서 string 타입이구요
호출할 때는 입력하지 않아도 되므로 undefined 를 포함합니다

함수 내부에서 undefined 타입이 제거되는 게 코딩하는 입장에서 더 편하겠죠? (undefined 체크를 하지 않아도 되므로)
그리고 undefined 가 될 수 없는 게 사실이기도 하구요