¿Cuál es la función principal de JavaScript en una aplicación web en relación con HTML y CSS?
JavaScript decide el comportamiento dinámico, las reglas y el estado de la interfaz.
JavaScript decide el comportamiento dinámico, las reglas y el estado de la interfaz.
La capa de HTML define la estructura y semántica base.
El lenguaje CSS es el responsable de la presentación y el estilo.
Se refiere a la recepción de un evento del usuario, la ejecución de la lógica de negocio y la actualización del feedback visual.
Es el estándar que define las especificaciones del lenguaje JavaScript.
`let` permite la reasignación de valores, mientras que `const` crea una referencia cuya asignación no puede cambiar.
La declaración se eleva al principio de su contexto de ejecución, permitiendo su uso antes de la línea de declaración con valor `undefined`.
Es el periodo entre el inicio del bloque y la declaración de una variable `let` o `const` donde no se puede acceder a ella.
String, Number, BigInt, Boolean, Undefined, Null y Symbol.
Devuelve el string `"object"`, lo cual es un error histórico del lenguaje.
Se utiliza para representar números enteros con precisión arbitraria que exceden el límite de $2^{53} - 1$.
`==` realiza conversión de tipos antes de comparar, mientras que `===` compara tanto el valor como el tipo sin conversión.
Devuelve `1`, que es el resto de la división de 5 entre 2.
La operación se interrumpe (cortocircuito) y devuelve el valor del primer operando.
Devuelve el operando de la derecha solo si el de la izquierda es `null` o `undefined`.
Se utilizan las comillas invertidas (backticks) y la sintaxis `${variable}`.
Permite leer propiedades anidadas sin causar un error si una referencia intermedia es `null` o `undefined`.
Consiste en una condición seguida de `?`, la expresión si es verdadera, `:`, y la expresión si es falsa.
Sirve para terminar inmediatamente la ejecución del bucle y saltar a la siguiente instrucción fuera de él.
`while` evalúa la condición antes de ejecutar el bloque, mientras que `do...while` ejecuta el bloque al menos una vez antes de evaluar la condición.
Recorre las propiedades enumerables de un objeto.
Recorre los valores de un objeto iterable, como un Array o un String.
Se define como `(a, b) => a + b`.
Es una función que guarda el acceso a las variables de su ámbito léxico incluso después de que la función externa haya finalizado.
Agrupa el resto de los argumentos pasados a la función en un solo array.
Crea un nuevo array con los resultados de aplicar una función a cada elemento del array original.
Crea un nuevo array con todos los elementos que cumplen una condición implementada por una función.
Ejecuta una función reductora sobre cada elemento para devolver un único valor acumulado.
Permite extraer propiedades de un objeto y asignarlas a variables de forma concisa.
Expande los elementos del array, permitiendo realizar copias superficiales o fusiones con otros arrays.
Un `Set` es una colección de valores únicos donde no se permiten duplicados.
Es una colección de pares clave-valor donde cualquier valor (objetos o primitivos) puede ser usado como clave.
Para ejecutar código que debe correr siempre, independientemente de si se produjo un error o no.
Es un objeto que representa la eventual terminación o el fracaso de una operación asíncrona.
Pendiente (pending), cumplida (fulfilled) y rechazada (rejected).
Permite escribir código asíncrono con una estructura que parece síncrona, facilitando la lectura y el mantenimiento.
Devuelve siempre una Promesa.
Inicia una petición HTTP a un servidor y devuelve una Promesa que resuelve la respuesta.
Es una interfaz de programación que representa el documento HTML como un árbol de nodos manipulable por JavaScript.
El método `document.querySelector()`.
Registra un evento específico en un elemento para ejecutar una función cuando el evento ocurra.
Cancela el comportamiento por defecto que el navegador tiene asociado a un evento (como el envío de un formulario).
En asignar un único manejador de eventos a un elemento padre para gestionar eventos en sus hijos mediante la propagación.
`localStorage` persiste los datos tras cerrar el navegador, mientras que `sessionStorage` los borra al finalizar la sesión de la pestaña.
Convierte un objeto o valor de JavaScript en una cadena de texto en formato JSON.
Convierte una cadena de texto en formato JSON en un objeto de JavaScript.
Es una forma de optar por una variante restringida de JavaScript que elimina errores silenciosos y mejora el rendimiento.
Se utiliza la palabra clave `extends`.
Para llamar al constructor de la clase padre y acceder a sus propiedades y métodos.
Permite exportar un único valor principal por archivo que puede ser importado con cualquier nombre.
Se evalúan como `false` en contextos donde se espera un valor booleano.
Ejemplos incluyen `0`, `""` (string vacío), `null`, `undefined`, `NaN` y `false`.
Usando la palabra clave `static` antes del nombre del método.
Proveer propiedades y métodos para realizar tareas matemáticas constantes y funciones numéricas.
Devuelve un booleano indicando si el valor pasado es efectivamente un objeto de tipo Array.
Es una función que se pasa a otra función como argumento para ser ejecutada posteriormente.
Es el mecanismo que permite a JavaScript realizar operaciones no bloqueantes a pesar de ser de un solo hilo.
Verifica si un objeto es una instancia de una clase o función constructora específica en su cadena de prototipos.
Usando el operador spread (`...`) para crear un nuevo objeto con las propiedades del original y las nuevas.
Es una función que puede detener su ejecución y reanudarla más tarde, devolviendo múltiples valores mediante `yield`.
Es un tipo de dato primitivo cuyos valores son únicos e inmutables, usados frecuentemente como identificadores de propiedades de objetos.
Proporciona una forma estándar de acceder al objeto global a través de diferentes entornos (navegador, Node.js).
Devuelve un array con los nombres de las propiedades enumerables propias de un objeto.
Para ejecutar una función o un fragmento de código después de que haya transcurrido un tiempo determinado en milisegundos.
Utilizando la función `clearInterval()` pasando el identificador del intervalo.
Significa que solo puede ejecutar una instrucción o tarea a la vez en el hilo principal.
Es el proceso donde un evento se dispara en el elemento más profundo y luego se propaga hacia sus ancestros en el DOM.
`textContent` devuelve o establece el texto plano, mientras que `innerHTML` permite manipular el contenido HTML dentro del elemento.
Determina si un array incluye un determinado elemento, devolviendo `true` o `false` según corresponda.
Proporciona comparación de cadenas, formato de números y formato de fechas y horas sensible al idioma.
Es una colección de pares clave-valor en la que las claves deben ser objetos y no impiden la recolección de basura de dichos objetos.
Utilizando la palabra clave `throw` seguida de un objeto o valor de error.
Para definir comportamientos personalizados para operaciones fundamentales en objetos, como la búsqueda de propiedades o la asignación.
Toma un conjunto de promesas y devuelve una sola promesa que se resuelve cuando todas las promesas del conjunto se han cumplido.
Es un espacio en memoria con un nombre simbólico (un identificador) que está asociado a un valor que puede cambiar.
La palabra clave es `var`, y sus características son el ámbito de función (function scope) y el hoisting.
Ámbito de función (function scope)
Es el comportamiento donde las declaraciones de variables y funciones son procesadas antes de ejecutar el código, asignándoles memoria durante la fase de compilación.
Solo se eleva la declaración, no la inicialización. El valor de la variable será `undefined` hasta que se alcance la línea de asignación.
Tienen ámbito de bloque (block scope), lo que significa que solo existen dentro del bloque `{...}` donde fueron declaradas.
Se debe usar `let` cuando el valor de la variable puede necesitar ser reasignado más adelante en el código.
Es una estructura de control de flujo que permite tomar decisiones en el código, ejecutando diferentes bloques de instrucciones según se cumpla o no una condición.
Condicional
Es una estructura de control que permite repetir un bloque de código un número determinado de veces o mientras se cumpla una condición.
Se suele utilizar cuando se conoce de antemano el número de iteraciones que se van a realizar.
Verdadera
El bucle `do...while` garantiza que el bloque de código se ejecute al menos una vez, ya que la condición se evalúa al final de la iteración.
Es un bloque de código reutilizable diseñado para realizar una tarea específica, que puede recibir parámetros y devolver un resultado.
Los parámetros (entrada), el código de la función (operaciones) y el resultado o valor de retorno (salida).
Es un objeto global tipo lista de alto nivel que permite almacenar una colección de múltiples elementos bajo un único nombre de variable.
Comienza en el índice 0.
Se accede mediante la notación de corchetes: `frutas[0]`.
Devuelve `2`, que es el número de elementos en el array.
El método `push()`.
El array `frutas` se modifica a `["Manzana", "Banana", "Naranja"]`.
El método `pop()`.
El método `unshift()`.
El método `shift()`.
Usando el método `indexOf('elementoBuscado')`, que devuelve el índice o -1 si no se encuentra.
splice()
Se están eliminando 2 elementos a partir del índice 1.
El método `slice()`.
Usando el método `forEach()`, que recibe una función callback como argumento.
El método `map()`.
15, 20];
`["$10.00", "$15.00", "$20.00"]`
El método `filter()`.
2, 3, 4, 5];
`[2, 4]`
La síncrona ejecuta tareas secuencialmente (una tras otra), bloqueando la siguiente hasta terminar la actual. La asíncrona permite que múltiples tareas se ejecuten simultáneamente sin bloquear el hilo principal.
síncrono
Para evitar que operaciones de larga duración (como peticiones de red o lectura de archivos) bloqueen la ejecución del resto del código, manteniendo la interfaz de usuario receptiva.
loop
Es una función que se pasa como argumento a otra función, para ser ejecutada ('llamada de vuelta') después de que una operación asíncrona haya completado.
asíncrona
El problema conocido como "Callback Hell" o "Pyramid of Doom", que hace el código difícil de leer y mantener.
Es un objeto que representa la eventual finalización (o fallo) de una operación asíncrona y su valor resultante.
Pendiente (`pending`), resuelta (`fulfilled` o `resolved`), y rechazada (`rejected`).
.then()
.catch()
Encadenamiento de promesas (Promise chaining)
Se utiliza para marcar la promesa como resuelta exitosamente, pasando opcionalmente un valor como resultado.
Se utiliza para marcar la promesa como rechazada, pasando un error o una razón del fallo.
Es una sintaxis especial para trabajar con promesas de una manera más cómoda y legible, permitiendo escribir código asíncrono que parece síncrono.
Hace que la función devuelva implícitamente una Promesa. Si la función retorna un valor, este será el valor resuelto de la promesa.
La palabra clave `await` solo se puede utilizar dentro de una función declarada como `async`.
Pausa la ejecución de la función `async` hasta que la promesa es resuelta o rechazada, y luego reanuda la ejecución con el valor resuelto.
Se utiliza un bloque `try...catch`, de la misma manera que en el código síncrono.
Es una técnica en la que una función se llama a sí misma para resolver un problema, dividiéndolo en subproblemas más pequeños del mismo tipo.
Un caso base (o condición de parada), que es una condición bajo la cual la función deja de llamarse a sí misma y devuelve un resultado.
La operación que se realiza en cada iteración y la llamada recursiva a sí misma con un argumento modificado para acercarse al caso base.
Es una estructura de datos que registra la posición del programa, guardando las funciones que se están ejecutando. Las llamadas a funciones se apilan una sobre otra.
Es una lista de mensajes (eventos, callbacks) a ser procesados. Cada mensaje tiene una función asociada que se ejecuta cuando la pila de llamadas está vacía.
Loop de eventos (Event Loop)
Falso. Cada mensaje se procesa completamente antes de que cualquier otro mensaje sea procesado ("run-to-completion").
No, 0 es el tiempo mínimo de espera. La función se añadirá a la cola de mensajes y se ejecutará solo cuando la pila de llamadas esté vacía y le toque su turno.
`const`
Una variable declarada con `let` puede ser reasignada, mientras que a una declarada con `const` no se le puede reasignar un nuevo valor.
reduce()
Devuelve el entero `123`, ya que convierte la cadena hasta que encuentra un carácter no numérico.
Devuelve `true` si el valor proporcionado no es un número (`Not-a-Number`), y `false` en caso contrario.
Es débilmente tipado, lo que significa que el tipo de una variable es dinámico y puede cambiar durante la ejecución (ej. una variable puede contener un número y luego una cadena).
Utilizando el operador `new`.
Se refiere al objeto actual, es decir, al objeto sobre el cual se está invocando el método.
Página 1 / 1