Ответ
Плюсы:
- Нативный API, не требует дополнительных библиотек
- Полный контроль над элементами страницы
- Хорошая производительность для простых операций
- Поддержка во всех браузерах
Минусы:
- Громоздкий синтаксис для сложных операций
- Нет реактивности (нужно вручную обновлять DOM)
- Сложность управления состоянием приложения
- Нет компонентного подхода
Пример простой манипуляции DOM:
const el = document.createElement('div');
el.textContent = 'Hello DOM';
document.body.appendChild(el);
Для сложных SPA лучше использовать современные фреймворки (React, Vue), которые предоставляют виртуальный DOM и реактивность.