-
Основной синтаксис. Стрелочные функции имеют более короткий синтаксис по сравнению с традиционными выражениями функций. Вместо использования ключевого слова «функция» вы используете стрелку (=>) для определения функции. Например:
const add = (a, b) => a + b; -
Неявный возврат. Если тело функции состоит из одного выражения, стрелочная функция может автоматически возвращать результат этого выражения без использования ключевого слова return. Например:
const double = (num) => num * 2; -
Лексическая привязка this: стрелочные функции не имеют собственного значения this. Вместо этого они лексически связывают значение «this» из окружающего контекста. Это означает, что значение «this» внутри стрелочной функции такое же, как значение «this» вне функции. Такое поведение отличается от обычных функций, которые имеют значение this с динамической областью действия.
-
Без привязки «аргументов». Стрелочные функции не имеют собственного объекта «аргументов». Если вам нужно получить доступ к аргументам, переданным стрелочной функции, вы можете использовать синтаксис остальных параметров (
...args) или вместо этого использовать обычные функции. -
Случаи использования. Стрелочные функции обычно используются в сценариях, где требуется краткое выражение функции, например, в методах массива, таких как
map(),filter()иreduce(). Они также хорошо работают с функциями обратного вызова и обработчиками событий.