JS Engine es un motor que entiende al lenguaje JavaScript y puede convertirlo a Machine Code para que el navegador sepa que función se debe realizar.
Cuando llega un script al navegador el JS Engine inicia un proceso el cual consta de:
Recibir el código como un flujo de bytes UTF-16 y pasarlo a un decodificador de flujo de bytes (el cual hace parte del motor).
El parser toma el código y lo descompone en tokens (los tokens son elementos de js como: let, new, símbolos de operaciones, functions, promises).
Gracias a el anterior parseo se genera una estructura de datos en forma de árbol, o Abstract Syntax Tree (AST).
El intérprete recorre el AST y va generando el bytecode.
El optimizing compiler optimiza el código bytecode a machine code y se reemplaza el código base.
Cada navegador tiene un JavaScript Engine, que permite convertir código JavaScript en código que pueda interpretar. El motor V8 javascript es el que usan los navegadores basados en chromium como chrome, el nuevo edge, brave etc, está escrito en C++ y compila todo el JS a código máquina directamente.
El motor SpiderMonkey está escrito en C y C++ es el que usa FireFox sin embargo, no es tan rápido como el motor V8 porque compila a un byte-code intermedio y no a código máquina. El motor Rhino compila JS a clases de Java.
- Intérpretede JavaScript - Wikipedia, la enciclopedia libre
- V8JavaScript engine
- JavaScript | All about Mozilla's JavaScript engine
- Home | SpiderMonkey JavaScript/WebAssembly Engine





Comentarios
Publicar un comentario