18 functii a patra parte callbacks higher order functions

Functii de "ordin inalt/mai mare" - Higher order functions adica functii care fie returneaza alte functii fie primesc ca parametri functii callback Reluare exemplu de functie callback returnat de o functie wrapper pentru metoda filter de la vectori. Functiile returnate sunt de tip closure daca duc cu sine variabile externe declarate in functia parinte. Ele pot fi reutilizate oriunde in cod. Functia parinte este "higher order function" Functiile primite ca parametru(atentie, nu se adauga paranteze/parametri pentru functiile callback cand sunt create in alta parte si doar pasate ca parametru). Exemplu: function func1(a) { console.log("din func1", a) } function func2(b) { console.log("din func2", b) } function funcHigherOrder(callback1, callback2){ let val1 = 1, val2 = 2 //apelarea functiilor callback in interiorul functiei 'higher order' callback1(val1) callback2(val2) } //apelarea functiei higher order cu functiile callback date ca parametru funcHigherOrder(func1, func2) //se observa func1 si func2 nu sunt date cu paranteze, altfel ar fi apelate si nu transmise in interiorul functiei funcHigherOrder //e gresit asa: let x = 1, y = 2 funcHigherOrder(func1(x), func2(y)) // este echivalent cu : funcHigherOrder(undefined, undefined) pentru ca executiile lui func1(x) si func2(y) returneaza undefined https://gist.github.com/profiasiweb/e8c479... https://shorturl.at/Xqhef