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

JavaScript простым языком

Данный тип функций пришел из стандарта ES6 и завоевал сердца всех проггеров. А все потому, что зачастую они намного облегчают жизнь, отчасти они более простые и их запись занимает меньше строчек кода.

Синтаксис

Сразу же начну с синтаксиса:

let func = () => alert('Я стрелочная функция!');

func(); 

Сразу же приведу код для сравнения с обычной функцией:

function func() {
    alert('Я стрелочная функция');
}

Две функции, которые выполняют абсолютно одинаковые действия.

В случае со стрелочной функцией ты уже не используешь ключевого слова function. И как, видишь, функцию ты записываешь в переменную func, которую потом вызываешь.

В func ты записываешь следующую конструкцию () => alert(...). Эта конструкция самая простая, когда тебе нужно выполнить только одно действие. Если же нужно выполнить несколько действий, то здесь ты обязан добавить фигурные скобки {} и после них поставить символ ;. Пример:

let func = () => {
    alert('Я стрелочная функция');
    alert('Честно');
};

Аргументы функции

Если функция должна принимать аргументы, то здесь тоже всё просто. По аналогии с обычными функциями ты можешь указать аргументы в скобках при определении функции и передавать их туда при вызове.

let func = (a) => {
    alert(a);
}; 

func(3); // выдаст в alert значение 3

Возвращение значения в стрелочных функциях

Так же стрелочные функции позволяют не писать ключевое слово return, если функция что-то должна вернуть. Но работает это только в том случае, если выполняется одно действие.

let func = () => 1 + 1;

let func2 = () => {
    return 1 + 1;
};

Функции func и func2 – полностью идентичны, поэтому зачем писать return и добавлять фигурные скобки, если можно обойтись и без них.

Если в функции нужно выполнить несколько действий и вернуть результат, то здесь уже в любом случае нужно добавлять фигурные скобки и ключевое слово return.

let func = () => {
  let result = 2 + 2;

  return result;
}; 

Домашнее задание

Напиши стрелочную функцию, которая будет запрашивать с помощью prompt два числа у пользователя и перемножать их между собой. Полученное значение функция должна возвращать с помощью ключевого слова return. Результат выполнения функции сохрани в переменную.

Last updated