Curso de JavaScript Engine (V8) y el Navegador - Yessica54/carrera-front-end GitHub Wiki
Historia de JavaScript
- 1991: nace htttp
- 1992: html 1
- primer navegador mozay
- js nace 95 y 96
ECNAScript
Es un grupo para estandarizar JavaScript
¿Cómo funciona el JavaScript Engine?
V8, el JavaScript Engine de Chrome
Este es el motor de JavaScript que corre en Chrome
Memory Heap
Los objetos en JS (objetos, arrays, funciones y básicamente todo lo que no sea un valor primitivo) se almacenan en la parte de memoria que de llama Memory Heap. Los valores primitivos son almacenados en el Call Stack, dentro del Scope (Contexto de Ejecución de la función que tenga acceso a esa variable). Acceder al Call Stack es mucho más rápido que al Heap. Además, en el Call Stack también se guardan las referencias, “como si fueran valores primitivos”. Cuando se asigna una variable a otra y esta apunta a un objeto, se copia la referencia, como si fuera un valor primitivo. Si el objeto tiene atributos como un número por ejemplo, este se guarda en la posición de memoria reservada para ese objeto. Los objetos también pueden tener más objetos dentro. En ese caso, dentro de la posición de memoria de ese objeto se va a guardar una referencia a otra posición de memoria
Call Stack
Es la lista de tareas las cuales se ejecutan una por una según prioridad
Garbage Collection
Limpia la memoria de los datos no utilizados para no sobrecargarla y seguir trabajando sin problemas. Hace el proceso de Mark and Sweep para limpiar estas variables que fueron renombradas como dice degranda, Cuando hay un ciclo for las variable siempre se renombrar y las anteriores se quedan hay pero bueno para eso esta Garbage collection que limpia estas variables inservibles.
Stack overflow
Es cuando agrega muchas tareas al Stack y este se desborda