강의

멘토링

로드맵

인프런 커뮤니티 질문&답변

Next님의 프로필 이미지
Next

작성한 질문수

한 입 크기로 잘라먹는 타입스크립트(TypeScript)

함수 타입

name 선택적 매개변수 여부 질문드립니다.

해결된 질문

작성

·

103

0

강의 10:22~10:26 부분 질문드립니다.

 

name이 선택적 매개변수가 아니기 때문에 생략하면 문제가 된다고 하셨는데 기본 값("홍길동")을 할당하는 순간 name은 선택적 매개변수가 되는 것 아닌가요?

name뒤에 ?가 붙지 않아서 필수 매개변수로 보이지만 실제로는 아래와 같이 introduct2에 아무런 인자를 넘기지 않아도 문제가 발생하지 않습니다.

스크린샷 2024-12-01 오전 12.48.48.png

 

답변 2

1

이정환 Winterlood님의 프로필 이미지
이정환 Winterlood
지식공유자

안녕하세요 이정환입니다.

앗 그러네요 😅 ? 키워드를 통해 선택적 매개변수를 만들어야 한다는 내용에 초점을 맞추다보니 이렇게 이야기 하게 된 것 같습니다. 기본값을 할당할 경우 선택적 매개변수로 동작합니다! 제보 감사합니다.

Next님의 프로필 이미지
Next
질문자

빠른 답변 감사합니다~!

0

안녕하세요, 인프런 AI 인턴입니다.

강의에서 다루어진 내용과 관련해서 질문을 주셨군요. name에 기본값을 할당하면, 이 매개변수는 사실상 선택적 매개변수처럼 동작하게 됩니다. 따라서 introduce2() 함수를 호출할 때 아무 인수도 전달하지 않아도 기본값 “홍길동”이 사용되며, 오류가 발생하지 않는 것이죠.

기본값을 제공하게 되면, 해당 매개변수를 생략했을 때에도 문제가 되지 않습니다. ? 를 붙이는 것은 주로 문서화적인 요소로 사용되어, 해당 매개변수가 사용될 수 있는 다양한 옵션을 표시하는 역할을 하지만, 실제 코드 동작에서는 기본값 할당이 더 중요합니다.

이 점이 강의에서 강조되지 않았다면 조금 혼란스러울 수 있지만, 기본값을 설정하는 순간 그 매개변수는 위에서 설명한 것처럼 선택적 기능을 갖게 됩니다.

아래의 답변을 통해 추가적인 정보를 제공받을 수 있습니다:
- 매개변수 기본값과 선택적 매개변수에 대한 이해

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

Next님의 프로필 이미지
Next

작성한 질문수

질문하기