高次関数(9-11)
Achievement Goals
-一級オブジェクト(first-class citizer)の3つの特徴を説明できます.
1.変数を割り当てることができる
2.他の関数を渡すことができるパラメータ(パラメータ)(コールバック関数)
3.他の関数の結果を返す
4.オブジェクトの属性値
-高次関数(high-order function)について説明できます.
パラメータとして別の関数を受信します.
function double(num) {
return num * 2;
}
function doubleNum(func, num) {
let doubledArr = [];
return func(num);
}
let output = doubleNum(double, 4);
console.log(output); // -> 8
function adder(added) { // 1.(5)들어오면
return function (num) { // 3.(3)들어오면
return num + added; //2.(5)값 저장, 4.(3)값 연산하여 리턴.
};
}
let output = adder(5)(3); // -> 8
console.log(output); // -> 8
function double(num) {
return num * 2;
}
function doubleAdder(added, func) {
const doubled = func(added);
return function (num) {
return num + doubled;
};
}
doubleAdder(5, double)(3); // -> 13
Reference
この問題について(高次関数(9-11)), 我々は、より多くの情報をここで見つけました https://velog.io/@blackwidow/고차함수9-11テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol