[javascript]関数式プログラミングの基礎を築く
8683 ワード
関数プログラミングとJavaScript ES 6+課を聞いて整理した内容
便利なコードの上部にあるconsole.log変数を含むコードを作成します.コード計算による値 の作成
一級
. 変数に含めることができます. 関数のパラメータとして使用できます. 関数の結果として使用できます. 関数を値として使用できます. JavaScriptは1級です. コンビネーションおよび抽象ツール javascriptは1級で、組み合わせや抽象的なツールとしてよく使用できます. 高次関数
apply1 times addmaker
便利なコードの上部にあるconsole.log変数を含むコードを作成します.
<script> const log = console.log; </script>
評価
一級
価格は
const a = 10
const add10 = (a) => a + 10
const r = add10(a)
いちじかんすう
const add5 = (a) => a + 5;
log(add5);
log(add5(5));
const f1 = () => () => 1;
log(f1());
constf2= f1();
log(f2);
log(f2());
高次関数
関数を値として扱う関数
パラメータとして実行される関数の受信
const apply1 = f => f(1); // 함수를 인자로 받아서 실행하는 함수
const add2 = a => a + 2;
log(apply1(add2)); // 3
log(apply1(a => a - 1)); // 0
const times = (f, n) => {
let i = -1;
while(++i < n) f(i);
};
times(log, 3);
// 0
// 1
// 2
times(a =>log(a+ 10), 3);
// 10
// 11
// 12
関数を作成して返される関数(モジュールを作成して返される関数)
const addMaker = a => b => a + b;
constadd10= addMaker(10);
log(add10); // b => a + b
log(add10(5)) // 15
Reference
この問題について([javascript]関数式プログラミングの基礎を築く), 我々は、より多くの情報をここで見つけました https://velog.io/@gwsyl22/javascript-함수형-프로그래밍-기본기-다지기テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol