JavaScript における関数型プログラミングのオブジェクトの性質:
function a()
{
var x="sth";
return b(){
//do with x; }
}
var c = a();
は
function a()
{
this.x = "dosth"; と同等です。 function(){
// 無駄なオブジェクトの構築を避ける
オブジェクト指向では通常、オブジェクトを事前に構築してそこで準備するのに対し、関数型プログラミングではクロージャを使用するときにクロージャ構築を呼び出すことが推奨されるためです。
2) 関数型プログラミングの保護 プライベート変数
x はクロージャを除いて外部からアクセスされません
3) クロージャとオブジェクトもリソースの解放に注意する必要があります
例: c = null; ,100);