2024年1月18日
tags: クリーンコード 関数型プログラミング
「参照透過性(Referential Transparency)」が保たれた関数とは、関数が同じ入力に対して常に同じ出力を返し、副作用を持たない関数のことを指します。この概念は関数型プログラミングで特に重視されます。
参照透過性を持つ関数の特徴は以下の通りです。
たとえば、以下の関数は参照透過性を持ちます。
function add(a, b) {
return a + b;
}
let result = add(2, 3); // いつでも5を返す
この関数は、常に同じ入力(この場合は2
と3
)に対して同じ出力(5
)を返し、外部の状態に依存しないため、参照透過性が保たれています。
一方で、外部の状態に依存する関数や外部の状態を変更する関数は参照透過性を持ちません。これらの関数は同じ入力に対して異なる結果を返す可能性があり、プログラムの挙動を予測しにくくすることがあります。