V8 vs SpiderMonkey vs JavaScriptCore
V8
V8 is Google's open-source JavaScript and WebAssembly engine, written in C++. It compiles JavaScript directly to machine code using JIT compilation. V8 powers Google Chrome, Node.js, Deno, and Electron. It was first released in 2008.
SpiderMonkey
SpiderMonkey is Mozilla's JavaScript engine, written in C++, Rust, and JavaScript. It was the first JavaScript engine ever created, written by Brendan Eich in 1995. SpiderMonkey powers Firefox. It uses a tiered JIT compilation system (Baseline JIT + IonMonkey).
JavaScriptCore
JavaScriptCore (also called Nitro) is Apple's JavaScript engine, written in C++. It is part of the WebKit project and powers Safari on macOS and iOS. All iOS browsers are required by Apple to use JavaScriptCore. It uses a four-tier architecture (LLInt, Baseline JIT, DFG JIT, FTL JIT).
Comparison
| Engine | Creator | Written in | Powers |
|---|---|---|---|
| V8 | C++ | Chrome, Node.js, Deno | |
| SpiderMonkey | Mozilla | C++, Rust, JavaScript | Firefox |
| JavaScriptCore | Apple/WebKit | C++ | Safari, all iOS browsers |