Перейти к основному содержимому
Модуль 4 · Урок 2 из 414/32 в курсе~10 min
Уроки модуля (2/4)

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

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

Основной синтаксис

JS
// classic function
const somma = function (a, b) {
  return a + b;
};

// equivalent arrow
const somma2 = (a, b) => {
  return a + b;
};

// arrow with implicit return (concise body, no braces)
const somma3 = (a, b) => a + b;

Эти три формы эквивалентны. Третий — самый «JavaScript-й».

Когда вы можете опустить фигурные скобки и вернуться

Если тело представляет собой одно выражение:

JS
const quadrato = (n) => n * n;
const isAdult = (eta) => eta >= 18;
const saluto = (nome) => `Ciao, ${nome}!`;

Если вместо этого вам нужно несколько операторов, вам нужны фигурные скобки и явный return:

JS
const descrivi = (n) => {
  const parita = n % 2 === 0 ? 'pari' : 'dispari';
  return `${n} è ${parita}`;
};

Один параметр: необязательные круглые скобки.

JS
const triplo = (n) => n * 3;
const triplo2 = (n) => n * 3; // this is fine too

Для параметров ноль или два+ скобки обязательны:

JS
const ora = () => Date.now();
const min = (a, b) => (a < b ? a : b);

Попробуйте это

Упражнение#js.m4.l2.e1
Попыток: 0Загрузка…

Перепишите эту функцию как стрелочную функцию с неявным возвратом: `function Square(n) { return n * n; }`. Назначьте его константному «квадрату» и вызовите со значением 5 (ожидается 25).

Загрузка редактора…
Показать подсказку

const Square = (n) => n * n;

Решение доступно после 3 попыток

Обзор упражнения

Упражнение#js.m4.l2.e2
Попыток: 0Загрузка…

Определите стрелочную функцию `describe(n)`, которая возвращает строку `<n> è pari`, если n четное, в противном случае `<n> è dispari`. Вызовите его с 7 в качестве последнего выражения.

Загрузка редактора…
Показать подсказку

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

Решение доступно после 3 попыток