리액트를 배워보면서 일급 함수라는 개념이 종종 등장하였습니다.
자바를 주로 사용하던 저에게는 생소한 개념이었습니다.
왜 자바스크립트의 함수는 일급 함수라고 부르는 걸까요?
이번 글에서는 일급 함수가 무엇인지 그 조건에 대해서 작성해보겠습니다.
일급 함수
단어의 생김새만 봐서는 무언가 뛰어난 함수를 의미하는 것 같습니다.
단어의 의미를 말하기에 앞서, 일급 객체의 조건에 대해서 살펴보겠습니다.
- 일급 객체는 변수나 자료구조에 저장할 수 있어야 합니다.
- 일급 객체는 매개변수의 인자로 전달할 수 있어야 합니다.
- 일급 객체는 함수의 반환값으로 사용할 수 있어야 합니다.
보셨듯이 간단한 정수와 실수 자료형은 대부분 일급 객체에 속합니다.
그럼 자바스크립트의 함수는 일급 객체의 조건을 만족하는 것일까요?
예제를 통해 이를 확인해보겠습니다.
변수에 함수 할당
const move = function() {
console.log("움직입니다.");
}
move(); // 움직입니다.
함수에 인자로 전달
function feed() {
return '에게 먹이를 줍니다.';
}
function rasing(name, action) {
console.log(name + action());
}
rasing('금붕어', feed); // 금붕어에게 먹이를 줍니다.
예제처럼 다른 함수에 인자로 전달되는 함수를 콜백 함수라고 부릅니다.
함수를 반환
function add(a) {
return function (b) {
return a + b;
}
}
const result = add(1)(2);
console.log(result); // 3
글을 끝까지 봐주셔서 감사합니다.
틀린 내용이 있다면 댓글로 지적 부탁드립니다.
'JavaScript' 카테고리의 다른 글
[TypeScript] 타입스크립트 알아보기 (0) | 2024.10.28 |
---|---|
[JavaScript] 실행 컨텍스트와 렉시컬 환경 (0) | 2024.10.22 |
[Javascript] Promise와 async/await의 비동기 처리 (0) | 2024.10.14 |
[Express] 유효성 검사를 해보자 (1) | 2024.09.24 |
[Express] Router 적용하기 (0) | 2024.09.10 |