Desde su inicio como Mocha gracias a Next Scape que vió la necesidad de una evolución en la web, más allá de transmitir información estática.
Ha pasado por muchos cambios y adaptaciones ya que es necesario que este lenguaje evolucione junto con la web.
ECMAScript es una especificación estandarizada por Ecma international. Fué creado para estandariza JavaScript y para ayudar a fomentar múltiples implementaciones independientes.
Es el motor de JS, es un interprete que corre en el navegador. Su función es interpretar el código JavaScript y convertirlo a Machine Code para que la máquina pueda procesarlo y entenderlo.
Just in time compiler:
Es la compilación en tiempo real que sucede en el proceso del Engine.
Es el motor de JavaScript que nació de la necesidad de correr aplicaciones más robustas y complejas en la web, específicamente nació por la necesidad de hacer realidad Google Maps dentro de Google Chrome.
<aside> 💡 La razón del nombre “motor V8” y el logo se debe a la identificación con los motores V8 de los automóviles. . Un motor V8 en el automovilismo es un motor montado en el cárter con dos bancos de cuatro cilindros, que comparten cigüeñal, formando una “V”. . Es usado en muchas categorías de competición automovilística, especialmente en Estados Unidos, este tipo de motores incluso es ocupado en grandes competiciones de autos,
</aside>
No hay solo un motor de JavaScript, ya que cada navegador cuenta con uno porpio:
List of ECMAScript engines - Wikipedia
Fundamentos de JavaScript: por qué deberías saber cómo funciona el motor - campusMVP.es
Una se interpreta nuestro archivo JS se genera un entorno global que cumple con 3 tareas:
Genera un objeto global que es igual a window:
GlobalObject = {Window}
Genera una variable que es igual al objeto global y this es igual a window:
var this = Window
Depende del contexto en la cual se esté llamando.
El contexto de ejecución en el cual empieza a correr el código, por medio de un stack de tareas para ir ejecutando una por una.
Window como objeto global ya está establecido en nuestro navegador en representacion de la pantalla de nuestro navegador. Este objeto trabaja por medio de diferentes API's para poder funcionar correctamente.
This es una total referencia al objeto Window: