Middle
Какво е чиста функция? Дали console.log вътре във функция е страничен ефект?
sobes.tech AI
Отговор от AI
Чистата функция е функция, която при еднакви входни данни винаги връща еднакъв резултат и не предизвиква никакви странични ефекти (side-effects).
Страничните ефекти са всякакви действия на функцията, които надхвърлят изчисляването на стойността, например:
- промяна на външни променливи или състояния,
- извършване на входно-изходни операции (например запис в конзолата, работа с файлове, мрежа),
- промяна на аргументите на функцията.
console.log вътре във функцията е страничен ефект, тъй като той извежда данни в конзолата, което влияе на външния свят и не е свързано директно с връщаната стойност.
Пример за чиста функция:
function add(a, b) {
return a + b;
}
Пример за функция с страничен ефект:
function logSum(a, b) {
const sum = a + b;
console.log(sum); // страничен ефект
return sum;
}
Така console.log вътре във функцията я прави нечиста.