Что такое Mutation Observer

Ответ

Mutation Observer — это API, позволяющий отслеживать изменения в DOM. Он заменяет устаревшие MutationEvents, работая асинхронно и более эффективно.

Пример использования:

const observer = new MutationObserver((mutations) => {
  mutations.forEach((mutation) => {
    console.log('DOM изменился:', mutation);
  });
});

observer.observe(document.body, {
  childList: true,
  subtree: true,
  attributes: true,
  characterData: true
});

Ключевые особенности:

  • Работает асинхронно (изменения собираются в батч)
  • Можно наблюдать за узлами, атрибутами, текстом
  • Оптимизирован для производительности
  • Поддерживается всеми современными браузерами

Используется для:

  • Отслеживания динамического контента
  • Интеграции с сторонними библиотеками
  • Реализации кастомного поведения при изменениях DOM