Если чистая функция возвращает нечистую функцию, является ли она чистой

Если чистая функция возвращает нечистую функцию, является ли она чистой

const fn = endpoint => () => { 
  console.log(endpoint);
}

Технически fn чист, не так ли?

Всего 1 ответ


Да, внешняя функция чиста. Вызов функции не вызывает никаких побочных эффектов, кроме фоновых механизмов, необходимых для создания лямбды (и если вы посчитаете эти эффекты, никакие функции не будут чистыми, так как по крайней мере стек вызовов изменяется функцией вызов).

Вы можете заменить этот вызов функции на функцию, которая возвращает inline, и код будет вести себя идентично.


Есть идеи?

10000