JavaScript
関数型プログラミング

Javascript関数型プログラミング#1

JavaScript関数型プログラミング#1

Javascriptで関数型プログラミングをするうえで、必要な関数型の思考法をまとめてみました。

関数型プログラミングの目標

副作用をさけ、アプリケーションを減らすために、データに関する制御フローと処理を抽象化すること

関数型プログラミングの基礎的な概念

  • 宣言型プログラミング
  • 純粋関数
  • 参照透過性
  • 不変性

宣言型プログラミング

プログラミングの記述と評価を分離する。
SQLみたいな考え方

純粋関数

  • 提供される入力値にのみ依存する。関数の実行中や関数呼び出しが行われる間に状態が変更する可能性があるものは一切依存しない。(参照透過性)
  • 関数自身のスコープの外にある値を一切変更しない。つまり、グローバルオブジェクトや参照渡しされた引数を変更しない。(不変性)

参照透過性

ある関数が同じ入力に対して常に同じ結果を返す場合、その関数が参照透過であるということ。