JavaScript engines are responsible for parsing, compiling, and executing JavaScript code.
### V8 (Google)
- Used in Chrome, Edge, Node.js, Deno.
- Highly optimized with JIT (Just-In-Time) compilation.
- Converts JavaScript to native machine code using:
- Ignition (interpreter)
- TurboFan (optimizer)
### SpiderMonkey (Mozilla)
- Used in Firefox.
- First-ever JavaScript engine.
- Uses JIT compilation with:
- Baseline
- IonMonkey
### JavaScriptCore (Nitro) (Apple)
- Used in Safari, React Native.
- Developed by Apple.
- Uses LLVM-based JIT compilation.
### Chakra (Microsoft)
- Used in older versions of Edge.
- Microsoft has since switched Edge to V8.
### Hermes (Meta/Facebook)
- Used in React Native.
- Optimized for mobile devices with ahead-of-time compilation.
> Each runtime chooses an engine based on its needs, with V8 being the most widely used across browsers and server-side environments.