V8 and Rhino are examples of compilers of JavaScript. Respectively, for internal native code (C ++) and for JAVA Bytecode. There are also other interpreters that use a JIT compiler.
By default, JavaScript is both interpreted and compiled - this specification is not necessarily the responsibility of the language, but in the JavaScript scenario, you can delegate which interpretation or build engine you want to use.
If you want to use V8, Google explains how to work on your engine, which, as already mentioned, is compiled. Naturally web-based applications, in turn, will use engines and devices provided by client browsers, which carry interpreter mechanisms and will not compile JavaScript in a standard pattern.
Beware here: precompilation of assets
A recurring error is confusing compilation of assets with language compilation. When we use Rails, for example, we can use the Asset Pipeline to precompile our assets, causing X of .js
files to unify and compress to form a single, mini- in a (erroneous) sense of "compilation."
Actually, there was yes a compilation, but it not is the same as what you are thinking, like what C # or JAVA does.