Логотип YeaHub

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

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

Тренажёр

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

Обучение

Навыки

Войти

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

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

© 2026 YeaHub

Документы

Медиа

Назад
Вопрос про JavaScript: функция

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

Вопрос проверяет понимание концепции чистых функций

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

Чистая функция — это функция, которая:

  1. Всегда возвращает одинаковый результат для одинаковых аргументов.

  2. Не имеет побочных эффектов (не изменяет внешние данные).

Пример: 

const sum = (a, b) => a + b;

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

Критерии чистоты

  1. Детерминированность

    • При одинаковых входных данных — одинаковый результат.

    • Пример нечистой функции: Math.random() (возвращает разное).

  2. Отсутствие побочных эффектов

    • Не меняет глобальные переменные, не мутирует аргументы.

    • Пример нечистой функции:

      let counter = 0;
      function increment() { counter++; } // Меняет внешнее состояние

Примеры

Чистая функция:

function multiply(a, b) {
  return a * b;
}

Нечистая функция:

let tax = 0.2;
function calculateTotal(price) {
  return price * (1 + tax); // Зависит от внешней переменной
}

Преимущества чистых функций

  • Проще тестировать (не нужны моки).

  • Понятнее (нет скрытых зависимостей).

  • Можно кэшировать (например, мемоизация).

Чистые функции делают код предсказуемым и удобным для рефакторинга. Они широко используются в React (редьюсеры) и функциональном программировании.

Уровень

  • Рейтинг:

    3

  • Сложность:

    5

Навыки

  • JavaScript

    JavaScript

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

#функция

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