=> (arrow function) în JavaScript

Scrie o funcție pe scurt, cu săgeata =>. Foarte folosită la map, filter și evenimente.

Sintaxă
const nume = (parametri) => expresie;

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.

Comenzi înrudite

  • function: Definește o funcție: un bloc de cod cu nume, pe care îl poți apela de câte ori ai nevoie.
  • map: Creează un tablou nou, transformând fiecare element cu o funcție.
  • filter: Creează un tablou nou doar cu elementele care îndeplinesc o condiție.