Видео может быть заблокировано из-за расширений браузера. В статье вы найдете решение этой проблемы.

Полезное

Способы записи функций

Кроме указанного в видео определения функции:

// const <name> = (<argument>) => {
//   return <expressions>;
// };

const identity = (value) => {
  return value;
};

Существует несколько других. Например, если у вас функция-однострочник, то можно использовать сокращенный синтаксис:

// const <name> = (<argument>) => <expressions>;
const identity = value => value;

В коде выше, мы опустили фигурные скобки и слово return, а так же скобки вокруг аргумента (это можно делать только если у функции один аргумент).

Так же можно определять функции, используя ключевое слово function:

// Устаревший синтаксис, предпочтительным является () => {}. Кроме синтаксической разницы есть и семантическая.
// Она связана с пока не изученной темой this.
const identity = function(value) {
  return value;
};

или

// Такую функцию можно использовать до ее определения (в этом же файле)
function identity(value) {
  return value;
}

В наших курсах мы будем придерживаться () => {} такой формы записи по многим причинам. Во-первых, она лаконичнее, во-вторых, обладает одним важным свойством, которое будет изучено позже, ну а в-третьих, такой способ записи визуально стирает грань между функциями и данными, что очень пригодится нам в будущем.

Формальные и Фактические параметры функции

Немного терминологии. Формальными параметрами функции называются имена переменных в определении функции, например у функции const f = (a, b) => a - b; формальные параметры это a и b. А фактически параметры — это то, что было передано в функцию в момент вызова, например если предыдущую функцию вызвать так f(5, z), где const z = 8, то фактическими параметрами являются 5 и z. Результатом этого вызова будет число -3, а внутри функции, на момент конкретного вызова, параметр a становится равным 5 и b становится равным 8.

const f = x => x * x;

const y = 5;
console.log(f(y)); // 25
const z = 3;
console.log(f(z)); // 9

Как видите, нет никакой связи между именами формальных и фактических параметров, более того, у фактических параметров вообще может не быть имен, как в примере выше, где мы сразу передали число 5 в функцию. Что имеет значение, так это позиция. Во время вызова функции параметры должны передаваться в правильном порядке, и только тогда функция отработает, как предполагается.

const f = (a, b) => a - b;

const x = 5;
const y = 8;

console.log(f(x, y)); // -3
console.log(f(y, x)); // 3

Return

Вызов оператора return приводит к изменению течения программы. Последующие инструкции никогда не будут выполнены:

Мы учим программированию с нуля до стажировки и работы. Попробуйте наш бесплатный курс «Введение в программирование» или полные программы обучения по Node, PHP, Python и Java.

Хекслет

Подробнее о том, почему наше обучение работает →