Javascript を使用すると、パラメーターを使用して、特定の動作をする別の (多くの場合匿名の) 関数を構築して返す関数を作成できます。カレーはその一例です。
たとえば、このアプローチを使用して、オブジェクトの配列を任意のプロパティでエレガントに並べ替えることができます。
var sortOn = function(property) {
return function(a,b) {
return a[property].localeCompare(b[property]);
};
};
var myArray = [ {id:1, title:'Hello'}, {id:2, title:'Aloha'} ];
myArray.sort( sortOn('title') ); // Aloha, Hello
myArray.sort( sortOn('id') ); // Hello, Aloha
一般的に言えば、パラメーターに基づいて別の関数を返す Javascript 関数を表す言葉はありますか?