70 JavaScript Questions Flashcards
¿Cuál es la diferencia entre undefined y null?
undefined es un tipo de valor automático que se asigna a las variables que no han sido inicializadas. null es un valor asignado que representa la ausencia de valor.
¿Qué hace el operador &&?
El operador && es un operador lógico AND que devuelve true si ambos operandos son verdaderos, y false de lo contrario.
¿Qué hace el operador ||?
El operador || es un operador lógico OR que devuelve true si al menos uno de los operandos es verdadero, y false si ambos son falsos.
¿Usar el + o el operador unario plus es la forma más rápida de convertir una cadena a un número?
El operador unario + es una forma rápida y común de convertir cadenas a números, pero la rapidez puede variar según el motor de JavaScript. Number() es otra opción.
¿Qué es el DOM?
El Document Object Model (DOM) es una interfaz de programación que representa y permite interactuar con documentos HTML y XML.
¿Qué es la Propagación de Eventos?
Es el modo en el cual los eventos se propagan a través del DOM, iniciando desde el elemento más interno y expandiéndose hacia los elementos padres.
¿Qué es la Burbuja de Eventos?
La burbuja de eventos es una fase de la propagación de eventos donde el evento se propaga desde el elemento más específico hasta el DOM.
¿Qué es la Captura de Eventos?
La captura de eventos es la fase de propagación de eventos donde el evento va desde el DOM hacia el elemento más específico.
¿Cuál es la diferencia entre event.preventDefault() y event.stopPropagation()?
event.preventDefault() evita la acción por defecto del evento, mientras que event.stopPropagation() detiene la propagación del evento en la cadena del DOM.
¿Cómo saber si se utilizó el método event.preventDefault() en un elemento?
Puedes comprobar si event.defaultPrevented es true para saber si event.preventDefault() fue llamado en el evento.
¿Por qué este código obj.someprop.x lanza un error?
Si obj.someprop es undefined o null, intentar acceder a x arrojará un TypeError porque no puedes acceder a propiedades de undefined o null.
¿Qué es event.target?
event.target es la propiedad del evento que retorna el elemento que disparó el evento.
¿Qué es event.currentTarget?
event.currentTarget es la propiedad que indica el elemento al cual el event handler ha sido adjuntado.
¿Cuál es la diferencia entre == y ===?
== compara la igualdad después de la coerción (conversión de tipos), mientras que === compara la igualdad sin coerción, por tanto, los tipos deben ser iguales.
¿Por qué devuelve false al comparar dos objetos similares en JavaScript?
En JavaScript, los objetos se comparan por referencia, no por valor. Dos objetos diferentes nunca son iguales, incluso si tienen las mismas propiedades.
¿Qué hace el operador !?
El operador ! es el operador lógico NOT, que invierte el valor de verdad de su operando.
¿Cómo evaluar múltiples expresiones en una línea?
Puedes evaluar múltiples expresiones en una línea utilizando el operador coma ,, el cual evalúa cada expresión de izquierda a derecha y devuelve el resultado de la última expresión.
¿Qué es Hoisting?
Hoisting es el comportamiento por defecto de JavaScript de mover declaraciones de variables o funciones al inicio de su contexto actual, ya sea el script o la función.
¿Qué es el Ámbito (Scope)?
El ámbito es el contexto en el cual los valores y las expresiones son “visibles” o pueden ser referenciados. Si una variable o expresión no está en el ámbito actual, no podrá ser usada.
¿Qué son las Clousures?
Una clausura o closure es una función que retiene acceso a su ámbito léxico, incluso cuando se ejecuta fuera de su ámbito original.
¿Cuáles son los valores falsos en JavaScript?
Los valores falsos en JavaScript son: false, 0, -0, “” (cadena vacía), null, undefined, NaN.
¿Cómo verificar si un valor es falso?
Puedes verificar si un valor es falso utilizando un condicional. Si !valor devuelve true, entonces el valor es falsy.
¿Qué hace “use strict”?
“use strict” es una directiva que establece que el código debe ejecutarse en un “modo estricto”, el cual es un subconjunto más estricto de JavaScript, donde ciertos errores son más fácilmente detectados.
¿Cuál es el valor de ‘this’ en JavaScript?
El valor de this en JavaScript depende del contexto en el que se utiliza. Puede referirse al objeto global, al objeto que contiene la función llamada, o a un objeto especificado al usar métodos como apply, call o bind.
¿Cuál es el prototipo de un objeto?
El prototipo de un objeto es otro objeto del cual el objeto original hereda métodos y propiedades
¿Qué es una IIFE y para qué se utiliza?
Una IIFE (Immediately Invoked Function Expression) es una función que se ejecuta inmediatamente después de su definición. Se utiliza para crear un ámbito privado y evitar contaminar el ámbito global.
¿Cuál es el uso de Function.prototype.apply?
Function.prototype.apply se utiliza para invocar una función con un dado this valor y argumentos proporcionados como un array (o un objeto parecido a un array).
¿Cuál es el uso de Function.prototype.call?
Function.prototype.call es similar a apply, pero en lugar de tomar un array de argumentos, toma argumentos individuales después del primer argumento this.