[JavaScript] 일급 객체, 고차함수


일급 객체

자바스크립트에서 숫자, 문자, 함수는 모두 일급 객체이다. 

이러한 일급 객체는 아래와 같은 특징을 가지고있다.

1. 함수의 매개변수로 전달 할 수 있다.
2. 함수의 반환 값이 될 수 있다.
3. 변수 또는 데이터 구조에 담을 수 있다.



함수가 값으로 다뤄질 수 있다.

1. 함수의 매개변수로 숫자, 문자 뿐만아니라 함수도 전달 할 수 있다.

const parameterFunc = (num, f) => num + f();
parameterFunc(20, () => 2); // 22

2. 함수가 숫자와 문자를 반환(return)하듯 함수도 함수를 반환할 수 있다.

const returnFunc = () => () => 10;
returnFunc() // () => 10

3. 숫자를 변수에 할당하듯 함수도 변수에 할당할 수 있다.

let one = 1
let two = () => 2


고차함수

고차함수는 인자로 함수를 받거나 함수를 반환(return)할 수 있는 함수를 말한다.

const higher_order_function = (parameter_function) => {
parameter_function();
};

higher_order_function(() => {
console.log("고차함수 입니다.")
}); // 고차함수 입니다.

출력 : 고차함수 입니다.



댓글