Стрелочные функции

Последнее обновление: 11.03.2021

Стрелочные функции (arrow function) позволяют упростить запись анонимных функций, которые возвращают некоторое значение. И при этом стрелочные функции автоматически имеют доступ к переменным из внешнего окружения.

Стрелочная функция определяется с помощью оператора fn:

fn(параметры) => действия;

После оператора fn в скобках идет список параметров. Затем указывается оператор =>. А после него располагаются действия функции, которые возвращают некоторый результат.

Например:

$a = 8; 
$b = 10;

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

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

В данном случае определение стрелочной функции

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

Фактически будет аналогично:

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

Только в отличие от стандартных анонимных функций стрелочный функции предоставляют более лаконичный синтаксис.

Также стрелочные функции могут применяться в качестве параметров функции:

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 "Сумма положительных чисел: $positiveSum <br /> Сумма четных чисел: $evenSum";
Помощь сайту
Юмани:
410011174743222
Перевод на карту
Номер карты:
4048415020898850