Стрелочные функции — это новый синтаксис для написания функций в JavaScript, представленный в ECMAScript 6 (ES6). Это сокращенный способ написания функциональных выражений, более лаконичный и удобный для чтения.
Вот пример выражения регулярной функции:
var add = function(x, y) { return x + y; }
А вот эквивалентная стрелочная функция:
var add = (x, y) => x + y;
В этом примере мы используем функцию стрелки для определения функции, которая складывает два числа вместе. Стрелка =>
отделяет параметры функции от тела функции, а выражение справа от стрелки оценивается и возвращается как результат функции.
Вот некоторые другие особенности стрелочных функций:
- Они всегда анонимны. Чтобы дать стрелочной функции имя, вам нужно присвоить его переменной или свойству.
- У них более короткий синтаксис для функций с одним выражением. Если тело функции содержит только одно выражение, фигурные скобки и ключевое слово
return
можно опустить. - Они имеют лексическую привязку
this
. Стрелочные функции не имеют собственного значенияthis
, а вместо этого наследуют значениеthis
из окружающего кода. Это делает их полезными для обратных вызовов и обработчиков событий.
Вот пример, демонстрирующий эти функции:
// Regular function expression var greet = function(name) { console.log("Hello, " + name + "!"); }; // Arrow function expression var greetArrow = name => console.log("Hello, " + name + "!"); greet("Alice"); // Outputs "Hello, Alice!" greetArrow("Bob"); // Outputs "Hello, Bob!"
Несколько параметров
Чтобы написать стрелочную функцию с несколькими параметрами в JavaScript, вы можете просто включить имена параметров в круглые скобки после символа стрелки (=>
). Вот пример:
const multiplyNumbers = (num1, num2) => num1 * num2; console.log(multiplyNumbers(5, 7)); // Output: 35
В этом примере стрелочная функция multiplyNumbers
принимает два параметра num1
и num2
, перемножает их вместе и возвращает результат, используя неявный синтаксис возврата.
Стрелочные функции с несколькими операторами
Если вы хотите включить в тело функции несколько операторов, вы можете заключить их в фигурные скобки и использовать ключевое слово return
, чтобы указать, какое значение следует возвращать:
const addNumbers = (num1, num2) => { const result = num1 + num2; return result; } console.log(addNumbers(5, 7)); // Output: 12
В этом примере стрелочная функция addNumbers
принимает два параметра num1
и num2
, складывает их вместе, присваивает результат переменной result
, а затем возвращает это значение.