DEV Community

Cover image for Preguntas de Entrevista JS
Jorge A. Lopez
Jorge A. Lopez

Posted on

Preguntas de Entrevista JS

1. Hoisting

El hoisting significa que el compilador de JS, pone las declaraciones y las funciones en memoria primero, es decir, podemos llamar a una función incluso si su inicialización está después de la llamada.

Ojo, esto funciona para declaraciones y funciones, no inicializaciones de variables.

En el código debajo, podemos observar una función multiplicar y una variable sumar2. En el proceso de compilación, JS nota que existe una función y automáticamente la pone de primero en memoria. Y posteriormente ejecuta todos los demás bloques de código. Por lo cual, la llamada a la función multiplicar() puede ejecutarse antes o después de la inicialización de la función.

multiplicar(10,10); //Se ejecuta

function multiplicar(a,b){
    //Se pone de primero en memoria
    console.log(a*b);
}

//Expresion de la función
sumar2(); 
const sumar2 = function() {
    console.log(3+3);
}
Enter fullscreen mode Exit fullscreen mode

Hoisting en acción

/* Funciones y declaraciones de variables 
Lo primero en asignar en memoria
*/
function multiplicar(a,b){
    console.log(a*b);
}

const sumar2;

//Lo que se ejecuta después
multiplicar(10,10); //100

sumar2();  //Error
const sumar2 = function() {
    console.log(3+3);
}
Enter fullscreen mode Exit fullscreen mode

2. ForEach & Map

En que escenarios deberías usarlo.

Cuando necesites mostrar algo en consola y por HTML debes de hacerlo por foreach.

Cuando necesites crear un nuevo arreglo, con lo que quisieras 
retornar debes de usar map.

3. Load & DOMContentLoaded

Load (Event)

Espera que el js, y los archivos que dependen del html estén completamente descargados para ejecutarse.

DOMContentLoaded

Únicamente espera que se instale el HTML puro, no le importa el js. Ni las imágenes, únicamente el esqueleto del sitio web.

¿Cuál usar?

Por lo general DOMContentLoaded, ya que no necesitamos que se carguen las hojas de estilo primero ni lo demás. Únicamente el HTML, así se ejecuta mas rápido el código JS.

Top comments (0)