• 카테고리

    질문 & 답변
  • 세부 분야

    풀스택

  • 해결 여부

    미해결

함수가 인자로 들어갈 때

22.07.07 18:49 작성 조회수 156

1

10분쯤 강의 듣다가 잘 모르겠어서 질문합니다.

위 사진에 담긴 내용을 보면 처음에 함수로 'callbackFunc'라는 이름의 함수를 정의하고 시작하셨잖아요?? 그리고 나서 아래에 sayHello라는 함수를 정의할 때 인자로 callback까지만 쓰셨구요.

1. sayHello안의 인자로 들어간 callback은 callbackFunc이라는 함수와는 아예 다른 새로운 매개변수 함수일 뿐인가요?

2. 함수의 인자로는 함수만 들어갈 수 있는 건 아니고, 'x'와 같은 값?도 들어갈 수 있죠?? 그럼 함수는 인자가 함수인지 값인지를 어떻게 알고 처리하나요?  

답변 1

답변을 작성해보세요.

1

1. callback은 현재 함수의 인자로 들어가게 되며 제가 임의로 인자명을 'callback'이라고 지은 것 뿐입니다. 따라서 callback2, minsoo, name 이런식으로 함수 인자의 이름을 짓는건 어떻게 해도 상관이 없습니다!

2. 자바스크립트에서는 함수인지 확인하기 위해서 아래와 같은 조건문을 추가로 설정해주어야 합니다.

if (typeof callback == 'function') {

    callback();

}

(자바나 타입스크립트에서는 처음부터 인자에 함수라는 타입을 넣어줄 수 있어 이를 강제할 수 있지만 자바스크립트는 이렇게 코드 상으로 구분을 해줘야 합니다 ㅠㅠ)

tucm88님의 프로필

tucm88

질문자

2022.07.09

친절한 답변 감사합니다!!! ㅎㅎ