Уроки модуля (2/4)
Стрелочная функция
Стрелочные функции — более компактный синтаксис для записи функций. Идеально подходит для обратных вызовов и коротких функций.
Основной синтаксис
// 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-й».
Когда вы можете опустить фигурные скобки и вернуться
Если тело представляет собой одно выражение:
const quadrato = (n) => n * n;
const isAdult = (eta) => eta >= 18;
const saluto = (nome) => `Ciao, ${nome}!`;Если вместо этого вам нужно несколько операторов, вам нужны фигурные скобки и явный return:
const descrivi = (n) => {
const parita = n % 2 === 0 ? 'pari' : 'dispari';
return `${n} è ${parita}`;
};Один параметр: необязательные круглые скобки.
const triplo = (n) => n * 3;
const triplo2 = (n) => n * 3; // this is fine tooДля параметров ноль или два+ скобки обязательны:
const ora = () => Date.now();
const min = (a, b) => (a < b ? a : b);Попробуйте это
Перепишите эту функцию как стрелочную функцию с неявным возвратом: `function Square(n) { return n * n; }`. Назначьте его константному «квадрату» и вызовите со значением 5 (ожидается 25).
Показать подсказку
const Square = (n) => n * n;
Решение доступно после 3 попыток
Обзор упражнения
Определите стрелочную функцию `describe(n)`, которая возвращает строку `<n> è pari`, если n четное, в противном случае `<n> è dispari`. Вызовите его с 7 в качестве последнего выражения.
Показать подсказку
Используйте тело с фигурными скобками, если у вас более одного выражения.
Решение доступно после 3 попыток