JavaScript Interview Question #149
What are Web Workers?
Generators, Browser Storage, Security & Advanced Runtime Concepts Senior Advanced
Quick Interview Answer
Web Workers allow JavaScript code to run in a background worker context separate from the page's main execution thread. They are useful for CPU-intensive work that would otherwise make the user interface unresponsive.
Detailed Explanation
Web Workers allow JavaScript code to run in a background worker context separate from the page's main execution thread. They are useful for CPU-intensive work that would otherwise make the user interface unresponsive.
Workers do not directly manipulate the page DOM. The main page and worker normally communicate through message passing, and transferred or cloned data must follow the platform's messaging rules.
Code Example
// main.js
const worker = new Worker("./worker.js");
worker.postMessage({ start: 1, end: 1000000 });
worker.onmessage = event => {
console.log("Result:", event.data);
};
// worker.js
// self.onmessage = event => {
// const result = doHeavyCalculation(event.data);
// self.postMessage(result);
// };