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)