Is feidhm ardoird ná feidhm a dhéanann ceann ar a laghad díobh seo: glacann sí feidhm mar argóint, nó filleann sí feidhm. Is féidir iad a bheith ann toisc go bhfuil feidhmeanna ina luachanna den chéad-aicme i JS (is féidir leat iad a chur timpeall cosúil le haon luach).
Feidhm a thógáil
js
[1, 2, 3].map(n => n * 2); // map takes a function
button.addEventListener("click", handler); // so does addEventListener
setTimeout(() => doThing(), 1000);
Feidhm a dhíbirt (go minic ag úsáid dhúnta)
js
function multiplier(factor) {
return n => n * factor; // returns a function that remembers `factor`
}
const double = multiplier(2);
const triple = multiplier(3);
double(5); // 10
triple(5); // 15
Anseo tógann multiplier feidhmeanna speisialta ó cheann ginearálta — tugann dhúnta factor isteach.
Sampla praiticiúil: banóiriú fógraíochta
js
function withLogging(fn) {
return (...args) => {
console.log(`calling with`, args);
const result = fn(...args);
console.log(`result`, result);
return result;
};
}
const loggedAdd = withLogging((a, b) => a + b);
Fáth a bhfuil sé tábhachtach
Déanann feidhmeanna ardoird cód fógraíoch agus in-athúsáidte.
Tá siad bunúsach do bhraistinti eagair (map/filter/reduce), láimhseáil imeachtaí, fód-dhílse, maisiúcháin, currying, agus patrúin React (HOCs, crochaid dhílis).
In ionad an loighic lúip chéanna a scríobh arís is arís eile, cuireann tú an iompar mar fheidhm.
