Логотип YeaHub

База вопросов

Собеседования

Тренажёр

База ресурсов

Обучение

Навыки

Задачи

Войти

Выбери, каким будет IT завтра — вместе c нами!

YeaHub — это полностью открытый проект, призванный объединить и улучшить IT-сферу. Наш исходный код доступен для просмотра на GitHub. Дизайн проекта также открыт для ознакомления в Figma.

© 2026 YeaHub

AI info

Карта сайта

Документы

Медиа

Назад
Вопрос про JavaScript: pure function, side effects, console.log, JavaScript

Является ли console.log чистой функцией?

Вопрос проверяет понимание концепции чистых функций в JavaScript и умение отличать их от функций с побочными эффектами.

Короткий ответ

Нет, console.log не является чистой функцией. Чистая функция должна возвращать одинаковый результат для одинаковых аргументов и не вызывать побочных эффектов. console.log выводит данные в консоль, что является побочным эффектом, и возвращает undefined, а не результат вычислений.

Длинный ответ

Что такое чистая функция?

Чистая функция — это функция, которая удовлетворяет двум условиям: она всегда возвращает одинаковый результат для одинаковых аргументов (детерминированность) и не вызывает побочных эффектов (не изменяет внешнее состояние).

Почему console.log не является чистой?

console.log выводит данные в консоль, что является побочным эффектом — изменением внешней среды (консоли). Кроме того, она возвращает undefined, а не результат, основанный на аргументах. Даже если передать одинаковые аргументы, console.log не возвращает полезного значения, а только производит действие.

Пример для сравнения

// Чистая функция
function add(a, b) {
  return a + b;
}

// Нечистая функция с побочным эффектом
function logAdd(a, b) {
  console.log(a + b); // побочный эффект
  return a + b;
}

// Нечистая функция, возвращающая undefined
function logMessage(msg) {
  console.log(msg); // побочный эффект, возвращает undefined
}

Где это применяется?

Концепция чистых функций важна в функциональном программировании, тестировании (чистые функции легко тестировать) и в React (компоненты должны быть чистыми для предсказуемости).

Вывод: console.log — это инструмент для отладки, а не чистая функция. Используйте чистые функции для вычислений и избегайте побочных эффектов в критических частях кода, чтобы упростить тестирование и поддержку.

Frontend developer

tech
tech
tech
tech
tech
tech
tech
tech
tech

Ментор по Frontend

Полное сопровождение до оффера — без дорогих курсов, с оплатой после трудоустройства

Записаться на консультацию

Уровень

  • Рейтинг:

    4

  • Сложность:

    3

Навыки

  • JavaScript

    JavaScript

Ключевые слова

#pure function

#side effects

#console.log

#JavaScript

Подпишись на React Developer в телеграм

Frontend developer

tech
tech
tech
tech
tech
tech
tech
tech
tech

Ментор по Frontend

Полное сопровождение до оффера — без дорогих курсов, с оплатой после трудоустройства

Записаться на консультацию