먼저 알아야 할 정의
일급객체
First - Class Object
일급객체란 ? 일반 객체처럼 모든 연산이 가능한 것
-함수의 매개 변수로 전달 가능
-함수의 반환값으로 활용 가능
-할당 명령문으로 사용 가능
-동일 비교도 가능
일급함수
First - Class Function
일급함수란 ? 함수가 일반 객체처럼 모든 연산이 가능한 것
-함수의 매개 변수로 전달 가능
-함수의 반환값으로 활용 가능
-할당 명령문으로 사용 가능
-동일 비교도 가능
고차함수
Higher - order Function
고차함수란 ?
인자(Parameter)로 함수를 받거나 (콜백함수)
함수를 반환하는 함수를 고차함수라 한다.
// 콜백함수
const add = (a, b) => a + b;
const multiply = (a, b) => a * b;
// 전달된 action은 콜백함수이다.
// 전달될 당시에 함수를 바로 호출해서 반환된 값을 전달하는 것이 아니라,
// 함수를 가리키고 있는 함수의 레퍼런스(참조값)가 전달된다.
// 그래서 함수는 고차함수 안에서 필요한 순간에 호출이 나중에 됨.(콜백)
function calculator(a, b, action) {
if (a < 0 || b < 0) {
return;
}
let result = action(a, b);
console.log(result);
return result;
}
calculator(-1, -1, add);
// calculator(1, 2, multiply);
'새로운 경험' 카테고리의 다른 글
[TIL]2022.11.14 Immutability 불변성 JavaScript (0) | 2022.11.14 |
---|---|
[WIL]2022.11.06~11.13 (0) | 2022.11.14 |
[TIL]2022-11-13 Expression 함수의 표현식. 선언문과 표현식의 차이? (0) | 2022.11.13 |
프레임워크? 라이브러리? (0) | 2022.11.13 |
[TIL]2022-11-13 Parameters 함수의 인자(feat. return? 뭘 어디다 돌려줘?) JavaScript (0) | 2022.11.13 |
댓글