How JavaScript Engines Work
JavaScript engines parse JavaScript source code, compile it to bytecode or machine code, and execute it. The major engines — V8, SpiderMonkey, and JavaScriptCore — are all written in C++.
V8 (Google / Node.js / Chrome)
V8 is an open-source JavaScript and WebAssembly engine written in C++. It compiles JavaScript directly to machine code before executing it (JIT compilation). V8 powers Google Chrome, Node.js, and Deno.
SpiderMonkey (Firefox)
SpiderMonkey is Mozilla's JavaScript engine, written in C++ and Rust. It was the first JavaScript engine ever created (1995) and powers Firefox. It uses a tiered JIT compilation approach.
JavaScriptCore (Safari / WebKit)
JavaScriptCore (also called Nitro) powers Safari and all iOS browsers. It is written in C++ and uses a four-tier JIT architecture.
Why C++?
JavaScript engines are written in C++ for performance: direct memory management, fine-grained control over compilation, and low-level platform access. JavaScript itself is a high-level dynamic language — only its engine is in C++.
Explore JavaScript Relationships in Graph →