Встречается на собеседованиях • сегодня

Что нельзя очистить от побочных эффектов

В JavaScript нельзя полностью очистить от побочных эффектов:

  1. Глобальные переменные - изменение глобальных переменных остается после выполнения функции:
js
let counter = 0;
function increment() {
  counter++; // Побочный эффект
}
  1. DOM-манипуляции - изменения в DOM сохраняются:
js
function changeTitle() {
  document.title = 'New Title'; // Побочный эффект
}
  1. Запросы к API - отправленные запросы нельзя отменить после выполнения.

  2. Таймеры и интервалы - если не очистить, продолжают работать:

js
setInterval(() => console.log('Tick'), 1000);
  1. Записи в localStorage/sessionStorage - сохраняются после выполнения кода.

  2. Console.log - вывод в консоль тоже считается побочным эффектом.

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

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы