일급 함수
JS에서의 함수는 일급 객체라는 말을 개발 초창기부터 들어왔고
그렇게 `함수는 객체에 속하는 것`이라는 것만 알고 개발을 해왔다.
그렇다면 왜 함수는 일급 객체에 속하게 되는것일까.
먼저 일급 객체의 특징에 대해 알아야 했다.
일급 객체의 특징
변수에 담을 수 있고, 파라미터로 전달이 가능하며, 리턴값으로 사용이 가능할 때 일급 객체라고 말할 수 있다.
일급 함수
함수를 일급 객체로 다루는 것
JS에서는 함수를 변수에 담는 것이 가능하고,
파라미터로 전달도 가능했으며 리턴값으로도 활용할 수 있었다.
그러므로 JS의 함수를 일급 함수이자 일급 객체라고 말할 수 있는 것이었다.
개발을 하며 당연하게 여겨오던 것들로 일급 함수의 예시를 들어보자.
일급 함수의 예시
1. 변수에 할당
const box() {
console.log('box');
}
box(); // const 변수를 통한 호출
2. 파라미터로 전달
function box() {
return 'box ';
}
function secondBox(boxFunc, text) {
console.log(boxFunc(), text);
}
secondBox(box, "open") // box 함수를 secondBox의 파라미터로 전달
3. 함수를 리턴
function box(func) {
return func();
}
// box 함수 안에 secondBox 함수를 리턴시켜 실행. 결과는 10 리턴
console.log(box(function secondBox(){ return 10; }));
'TIL' 카테고리의 다른 글
Tree shaking & Code Splitting (0) | 2023.02.16 |
---|---|
.gitignore가 적용되지 않는다면 (0) | 2023.02.14 |
함수형 프로그래밍 (0) | 2023.01.27 |
Web Socket (0) | 2023.01.26 |
Module & Bundler (0) | 2023.01.25 |