-
카테고리
-
세부 분야
풀스택
-
해결 여부
미해결
함수가 인자로 들어갈 때
22.07.07 18:49 작성 조회수 161
1
10분쯤 강의 듣다가 잘 모르겠어서 질문합니다.
위 사진에 담긴 내용을 보면 처음에 함수로 'callbackFunc'라는 이름의 함수를 정의하고 시작하셨잖아요?? 그리고 나서 아래에 sayHello라는 함수를 정의할 때 인자로 callback까지만 쓰셨구요.
1. sayHello안의 인자로 들어간 callback은 callbackFunc이라는 함수와는 아예 다른 새로운 매개변수 함수일 뿐인가요?
2. 함수의 인자로는 함수만 들어갈 수 있는 건 아니고, 'x'와 같은 값?도 들어갈 수 있죠?? 그럼 함수는 인자가 함수인지 값인지를 어떻게 알고 처리하나요?
답변을 작성해보세요.
1
그랩
지식공유자2022.07.09
1. callback은 현재 함수의 인자로 들어가게 되며 제가 임의로 인자명을 'callback'이라고 지은 것 뿐입니다. 따라서 callback2, minsoo, name 이런식으로 함수 인자의 이름을 짓는건 어떻게 해도 상관이 없습니다!
2. 자바스크립트에서는 함수인지 확인하기 위해서 아래와 같은 조건문을 추가로 설정해주어야 합니다.
if (typeof callback == 'function') {
callback();
}
(자바나 타입스크립트에서는 처음부터 인자에 함수라는 타입을 넣어줄 수 있어 이를 강제할 수 있지만 자바스크립트는 이렇게 코드 상으로 구분을 해줘야 합니다 ㅠㅠ)
답변 1