MySQL Java JavaScript PHP Python HTML-CSS C-sharp

Funcții săgeată

Funcțiile săgeată (arrow functions) permit simplificarea scrierii funcțiilor anonime care returnează o valoare. De asemenea, funcțiile săgeată au automat acces la variabilele din mediul înconjurător.

Funcția săgeată se definește cu ajutorul operatorului fn:

fn(parametri) => acțiuni;

După operatorul fn, în paranteze, se specifică lista de parametri. Apoi se indică operatorul =>. Iar după acesta se scriu acțiunile funcției care returnează un anumit rezultat.

Exemplu:

$a = 8;
$b = 10;

$closure = fn($c) => $a + $b + $c;

$result = $closure(22); // 40

În acest caz, definirea funcției săgeată:

$closure = fn($c) => $a + $b + $c;	

Este echivalentă cu:

$closure = function($c) use($a, $b) {
   return $a + $b + $c;
};

Spre deosebire de funcțiile anonime standard, funcțiile săgeată oferă o sintaxă mai concisă.

Funcțiile săgeată pot fi utilizate și ca parametri ai altor funcții:

function sum($numbers, $condition) {
   $result = 0;
   foreach ($numbers as $number) {
       if ($condition($number)) {
           $result += $number;
       }
   }
   return $result;
}

$myNumbers = [-2, -1, 0, 1, 2, 3, 4, 5];

$positiveSum = sum($myNumbers, fn($n) => $n > 0);
$evenSum = sum($myNumbers, fn($n) => $n % 2 === 0);
echo "Suma numerelor pozitive: $positiveSum <br /> Suma numerelor pare: $evenSum";
← Lecția anterioară Lecția următoare →