JavaScript runtimes provide the environment for executing JavaScript code, including an engine, event loop, and APIs. ### Browser Runtimes (Client-Side) - Google Chrome, Edge → Uses V8 - Firefox → Uses SpiderMonkey - Safari → Uses JavaScriptCore (Nitro) - Opera → Uses V8 > Browsers provide Web APIs for interacting with the DOM, handling events, making network requests, etc. ### Server-Side Runtimes - Node.js → Uses V8, provides APIs for file system, network, process control. - Deno → Uses V8, provides a more secure environment with TypeScript support out of the box. - Bun → Uses JavaScriptCore (Nitro), optimized for speed and performance in server applications. ### Embedded Runtimes (IoT & Mobile) - Electron (for desktop apps) → Uses V8 (bundled with Chromium) - React Native → Uses JavaScriptCore - QuickJS (lightweight runtime for embedded devices) - Espruino (JavaScript for microcontrollers)