Ce face => (arrow function)
Funcțiile săgeată sunt o formă scurtă de a scrie funcții. Dacă după săgeată urmează o singură expresie, rezultatul ei este returnat automat, fără return și fără acolade.
Cu un singur parametru, parantezele sunt opționale. Fără parametri, scrii () =>. Dacă ai nevoie de mai multe instrucțiuni, pui acolade și return.
Diferența importantă: funcțiile săgeată nu au propriul this. Îl preiau din codul din jur, ceea ce le face potrivite pentru funcțiile date altor funcții (callback-uri).
Exemple
Exemplul 1: Forma scurtă
const dublu = (x) => x * 2;
const salut = () => "Salut!";
console.log(dublu(21));
console.log(salut());
Rezultat
42
Salut!
Exemplul 2: Cu mai multe instrucțiuni
const pretFinal = (pret, reducere) => {
const scazut = pret - (pret * reducere) / 100;
return Math.round(scazut);
};
console.log(pretFinal(200, 15));
Rezultat
170
Exemplul 3: Ca parametru pentru alte funcții
const numere = [3, 8, 1, 6];
console.log(numere.map((n) => n * 10));
console.log(numere.filter((n) => n > 4));
Rezultat
[ 30, 80, 10, 60 ]
[ 8, 6 ]
Greșeli frecvente
- Returnezi un obiect în forma scurtă:
() => { nume: "Ana" }returneazăundefined, pentru că acoladele sunt citite ca bloc de cod. Pune obiectul între paranteze:() => ({ nume: "Ana" }). - Pui acolade și uiți
return:(x) => { x * 2 }returneazăundefined.