반응형
1. 고차함수
2. 재귀함수
1. 고차함수
함수를 인자로 받을 수 있고, 함수의 형태로 리턴할 수 있는 함수이다.
쉽게 말해 함수에 인자로 함수로 받거나 함수의 반환형이 함수이다면 고차함수라고 생각할 수 있다.
pleaseCallback안에 console.log를 실행시키기 때문에 인자로 함수를 받았기 때문에 고차함수라고 할 수 있다.
function pleaseCallback(tempLog) {
tempLog("안녕");
}
pleaseCallback(console.log);
또한 콜백함수의 경우에도 pleaseCallback 함수 내에 익명함수를 실행시켰기 때문에 함수를 인자로 사용하여 고차함수라고 말할 수 있다.
pleaseCallback((temp) => {
console.log(temp);
});
이처럼 함수내에 함수 또는 함수를 리턴으로 받는 함수들을 고차함수라고 한다.
sort함수
console.log(
[1, 6, 2, 13123, 3, 1235, 95].sort((a, b) => {
return a - b;
})
);
정렬을 할 때 사용되는 sort 함수 또한 정렬을 하기 위해 뒤에 콜백함수를 호출하므로 고차함수의 예시라고 할 수 있다.
2. 재귀함수
재귀함수
재귀함수는 쉽게 말해 자기 자신을 호출하는 함수이다. 영어에서 흔히 himself, myself, itself 같이 자기 자신을 호출하는 함수이다.
function func2(num) {
console.log(num);
if (!num) return 0;
func2(num - 1);
}
func2(10); 을 실행 시켰을 때 num = 10 이고 콘솔에서 10을 찍은 후 if(! 10) 이 거짓이기 때문에 func2(num-1)을 재귀함수로 함수 내에서 호출한다. 이런 식으로 여러 번 자기 자신을 호출하여 10 ~ 1까지 출력하고 if(! 0) 은 참이기 때문에 마지막으로 0을 리턴하면서 끝내기 때문에 10 ~ 0까지 출력되게 된다.
반응형
'블록체인 개발' 카테고리의 다른 글
Javascript 데이터 할당 방식 (0) | 2023.08.03 |
---|---|
자바스크립트 클래스 사용해보기 (1) | 2023.07.12 |
Event 함수들 (이벤트 리스너, 이벤트 핸들러) (0) | 2023.07.10 |
Javascript DOM 엘리먼트 객체 (0) | 2023.07.07 |
Javascript Scope & Scope Chain (0) | 2023.07.06 |