Стрелочные функции
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
Was this helpful?