Короткое определение
Web Worker — скрипт в фоновом потоке, отдельно от main thread UI, чтобы тяжёлый JS не блокировал отрисовку и ввод.
Важно
- Нет прямого доступа к DOM.
- Общение через
postMessage (структурное клонирование / Transferable).
- Виды: dedicated, shared, service worker (отдельная роль для сети/кэша).
self.onmessage = (e) => {
self.postMessage(e.data * 2);
};
const w = new Worker("worker.js");
w.postMessage(21);
w.onmessage = (e) => console.log(e.data);
Итог
Workers — для CPU-задач и фона; UI и DOM остаются в главном потоке.