Just a nit on the JIT... JavaScript is almost always compiled, regardless of whether there is a JIT or not.
A typical JavaScript system first compiles the JS source code into bytecode. Then it starts executing (interpreting) the bytecode.
If there is a JIT, that is a second compiler. It monitors the execution of the bytecode to find hot spots where it compiles the bytecode into machine language.
A typical JavaScript system first compiles the JS source code into bytecode. Then it starts executing (interpreting) the bytecode.
If there is a JIT, that is a second compiler. It monitors the execution of the bytecode to find hot spots where it compiles the bytecode into machine language.