Возврат по умолчанию

Рассмотрим немного модифицированную функцию из предыдущего урока:

const sub = (a, b) => {
  const result = a - b;
}

const result = sub(10, 7);
console.log(result);

Этот код не содержит синтаксических ошибок, и интерпретатор выполнит его выведя на экран значение undefined. В функции нет return, но несмотря на это, код отработал и в переменную result записалось что-то.

Держитесь, мы снова повторяем мантру: вызов функции — это выражение. Значит, функция всегда возвращает что-то.

Так вот, если в функции нет инструкции return, то интерпретатор автоматически возвращает undefined. Поэтому в переменную result записался undefined.

Забыть инструкцию return — частая ошибка новичка. Мы в обучении каждый день сталкиваемся с просьбами о помощи типа «функция правильная, но почему-то не работает». И почти всегда оказывается, что забыт return, а результат, вместо возврата, просто печатается на экран.

С другой стороны если написать инструкцию return без указания выражения после него, то наружу вернется все тот же undefined. Кажется что подобный возрат не имеет смысла, но это не так. return без выражения нередко используют для прерывания вычислений. Подробнее эта тема раскрывается в модуле посвященному условным конструкциям.

Вопрос для самопроверки. Что возвращает функция console.log?

Задание

Это немного странное задание, но для тренировки будет полезным. Реализуйте функцию doNothing, которая ничего не делает)


Нашли ошибку? Есть что добавить? Пулреквесты приветствуютсяhttps://github.com/hexlet-basics

Упражнение доступно только авторизованным пользователям.

Пожалуйста, авторизуйтесь с помощью учётной записи GitHub, это необходимо для отслеживания прогресса выполнения уроков. Если у вас ещё нет учётной записи, то сейчас самое время создать аккаунт на GitHub.