¿Cuál es la diferencia principal entre las variables declaradas con ‘let’, ‘var’ y ‘const’?
var: Ámbito de función (obsoleto, evitar).
let: Ámbito de bloque { } (el estándar moderno).
const: Como let, pero no permite reasignar el valor.
Si quieres crear un nuevo array que contenga solo los elementos de un array original que cumplan una condición específica, ¿qué método utilizarías?
Filter
Crea un nuevo array con los elementos que cumplen una condición.
En el contexto de eventos del DOM, ¿qué hace el método ‘preventDefault()’?
Cancela la acción por defecto del navegador (ej: no enviar un form). Siempre y cuando esta sea cancelable.
¿Qué significa que el evento ‘burbujea’ (bubbling) en JavaScript?
El evento sube desde el elemento hasta el window (comportamiento por defecto).
¿Cuál es la función del mecanismo de ‘Prototype’ en JavaScript?
El mecanismo por el cual los objetos heredan propiedades y métodos de otros objetos.
¿Qué devuelve el operador de comparación estricta ‘===’ si comparamos el número 5 con el string ‘5’?
false
Si fuese solo ‘==’ sería true
¿Cuál es la utilidad principal de las Promises en JavaScript?
Objetos que representan un valor que estará disponible “ahora, en el futuro o nunca”.
.then(): Qué hacer si sale bien.
.catch(): Qué hacer si hay un error.
En el uso de expresiones regulares (RegExp), ¿qué devuelve el método ‘test()’?
True si coincide y False si no coincide
¿Qué herramientas se encargan de traducir código JS moderno a una versión compatible con navegadores antiguos? Pon algún ejemplo
Transpilers
Babel, TypeScript, SWC…
Acrónimo de MEAN y qué es
M → MongoDB (base de datos NoSQL)
E → Express (framework backend para Node.js)
A → Angular (framework frontend)
N → Node.js (entorno de ejecución en servidor)
Es un stack muy usado para aplicaciones web full-stack usando solo JavaScript en todo el proyecto.
Si tienes un array y quieres extraer una copia de una parte del mismo sin modificar el original, ¿qué método de Array es el adecuado?
Slice
¿Cuál es la característica principal de las ‘Arrow Functions’ respecto al manejo del contexto ‘this’?
Heredan el contexto ‘this’ del ámbito léxico en el que fueron creadas.
¿Qué ocurre cuando se pierde el foco de un elemento de formulario (input) en el DOM?
Se dispara el evento blur
¿A qué se refiere el término ‘clausura’ (closure) en JavaScript?
A la capacidad de una función de acceder a variables de su ámbito externo incluso después de que este haya finalizado.
En el desarrollo moderno, ¿cuál es la función principal de un Package Bundler como Webpack o Parcel?
Combinar múltiples archivos y dependencias en un solo archivo optimizado para el navegador.
Ayuda a reducir el número de peticiones HTTP y a organizar el código en módulos.
¿Qué diferencia fundamental hay entre ‘npm’ y ‘yarn’?
Son herramientas distintas que cumplen el mismo propósito: gestionar dependencias y scripts.
Aunque tienen comandos diferentes, ambos interactúan con el registro de paquetes de npm.
Si una variable se evalúa como ‘NaN’ en tu código, ¿qué significa?
El resultado de la operación es un valor no válido (Not a Number)
¿Cuál es la función de un Template Engine como Mustache o Handlebars?
Facilitar la inserción de datos dinámicos en estructuras de HTML predefinidas.
¿Qué método se utiliza para transformar un objeto de JavaScript en una cadena de texto en formato JSON?
JSON.Stringify()
En el contexto de funciones como ‘ciudadanos de primera clase’, ¿qué significa que una función pueda ser un ‘parámetro’?
Que una función puede ser enviada como argumento a otra función (callback).
¿Qué par de eventos controlan entrada y salida del puntero sobre un elemento?
onmouseover: Se dispara cuando el puntero del mouse entra en un elemento HTML.
onmouseout: Se activa cuando el puntero abandona el elemento seleccionado.
Evento JS para cuando se pulsa una tecla pero aún no se ha soltado
El evento onkeydown (o keydown actualmente) en JavaScript se activa cuando el usuario presiona una tecla, ocurriendo antes de que se libere y antes de que el carácter aparezca en el campo de entrada, lo que lo hace ideal para interceptar pulsaciones e implementar comportamientos personalizados