К списку вопросов
Основы программированияjunior

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

#функции#чистота#побочные эффекты

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

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

Разбор

Расчет total(price, quantity) может быть чистым. Если он читает изменяемую глобальную скидку или Date.now(), результат уже зависит от скрытых входов.

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

Источники

React: определение чистоты и локальные изменения