pure functionとは
JavaScriptにおける「pure function(純粋関数)」とは、次の2つの特性を持つ関数のことを指します。
1. 副作用のない : 純粋関数は、外部の状態を変更せず、引数の値だけに依存して結果を返します。つまり、関数内でグローバル変数の変更や、引数以外の外部のデータへのアクセス、ファイルの読み書き、ネットワークリクエストの送信などの副作用がないことが求められます。
2. 同じ入力に対して常に同じ結果を返す : 同じ引数が与えられた場合、純粋関数は常に同じ結果を返します。関数が外部の状態に依存しないため、同じ入力が与えられれば常に同じ結果が得られることが保証されます。この特性は、関数の予測可能性を高めます。
使用方法
純粋関数は、プログラムの理解やテスト、デバッグを容易にし、並行処理や再利用性の向上にも役立ちます。また、関数型プログラミングの中心的な概念であり、関数型プログラミングの原則に従うことで、より堅牢で保守しやすいコードを書くことができます。
例えば、以下は純粋関数の例です。
function add(a, b) {
return a + b;
}
console.log(add(3, 5)); // 8
console.log(add(3, 5)); // 8
この関数は、引数 a
と b
の値だけを使って結果を返し、外部の状態に依存することなく同じ入力に対して常に同じ結果を返します。