Main Thread
Call Stack
main()
Memory Heap
Objects, closures, and variables
Garbage collection happens here
Garbage collection happens here
→
Advanced Workflow for Senior Developers
Direct function calls, variable assignments, loops
Promise callbacks, queueMicrotask(), MutationObserver
requestAnimationFrame, style calculations, layout
setTimeout, setInterval, setImmediate, I/O callbacks
requestIdleCallback when browser is idle
console.log('1: Synchronous');
setTimeout(() => console.log('2: Macrotask (setTimeout)'), 0);
Promise.resolve().then(() => console.log('3: Microtask (Promise)'));
queueMicrotask(() => console.log('4: Microtask (queueMicrotask)'));
requestAnimationFrame(() => console.log('5: Render task (rAF)'));
console.log('6: Synchronous');
// Output order: 1, 6, 3, 4, 5, 2