一級オブジェクト(first-class)
第1レベルのオブジェクト
通常、他のオブジェクトに適用されるすべての演算をサポートするオブジェクト.
オブジェクトを値として扱う
高次関数(forEach、filter、map、sortなど) closer コールバックモード
通常、他のオブジェクトに適用されるすべての演算をサポートするオブジェクト.
オブジェクトを値として扱う
1.一級オブジェクトの条件
1.関数は匿名オブジェクトとして生成できます。
const increase = function (num) {
return ++num;
};
const decrease = function (num) {
return --num;
};
2.関数は、オブジェクト、変数に格納できます。
const test = { increase, decrease };
3.関数はパラメータに渡すことができます。
const increaser = makeCounter(test.increase);
console.log(increaser()); // 1
console.log(increaser()); // 2
4.他の関数の結果として返すことができます。
function makeCounter(test) {
let num = 0;
return function () {
num = test(num);
return num;
};
}
関数は、1レベルのオブジェクトの条件に相当します.2.一級の対象にできること
Reference
この問題について(一級オブジェクト(first-class)), 我々は、より多くの情報をここで見つけました https://velog.io/@yes-j/일급객체-first-classテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol