Чистая функция - это функция (блок кода), которая всегда возвращает один и тот же результат, если передаются одни и те же аргументы. Она не зависит от какого-либо состояния или изменения данных во время выполнения программы, а зависит только от её входных аргументов.
Функция называется чистой, если она удовлетворяет двум условиям:
1. Функция возвращает точно такой же результат каждый раз, когда она вызывается с тем же набором аргументов.
2. Выполнение функции не изменяет какое-либо состояние за пределами её области видимости и не оказывает видимого воздействия на внешний мир, кроме возвращения значения (никаких побочных эффектов).
Идеальная функция с точки зрения удобства работы с ней называется чистой (pure). Чистая функция — это детерминированная функция, которая не производит побочных эффектов. Такая функция зависит только от своих входных аргументов и всегда ведёт себя предсказуемо.