Вопрос проверяет понимание концепции чистых функций в JavaScript и умение отличать их от функций с побочными эффектами.
Чистая функция — это функция, которая удовлетворяет двум условиям: она всегда возвращает одинаковый результат для одинаковых аргументов (детерминированность) и не вызывает побочных эффектов (не изменяет внешнее состояние).
console.log выводит данные в консоль, что является побочным эффектом — изменением внешней среды (консоли). Кроме того, она возвращает undefined, а не результат, основанный на аргументах. Даже если передать одинаковые аргументы, console.log не возвращает полезного значения, а только производит действие.
// Чистая функция
function add(a, b) {
return a + b;
}
// Нечистая функция с побочным эффектом
function logAdd(a, b) {
console.log(a + b); // побочный эффект
return a + b;
}
// Нечистая функция, возвращающая undefined
function logMessage(msg) {
console.log(msg); // побочный эффект, возвращает undefined
}Концепция чистых функций важна в функциональном программировании, тестировании (чистые функции легко тестировать) и в React (компоненты должны быть чистыми для предсказуемости).
Вывод: console.log — это инструмент для отладки, а не чистая функция. Используйте чистые функции для вычислений и избегайте побочных эффектов в критических частях кода, чтобы упростить тестирование и поддержку.
Frontend developer
Ментор по Frontend
Полное сопровождение до оффера — без дорогих курсов, с оплатой после трудоустройства
Записаться на консультацию