Implemente una clase de almacenamiento basada en el patrón «Observador»: la clase almacena datos, permite suscribir y cancelar la suscripción de funciones callback, y al cambiar los datos notifica a todos los suscriptores actuales, pasándoles los nuevos datos.
Frontend
¿El método sort muta el array original o no? ¿Cómo hacer una ordenación no mutante?
¿Por qué una función en JavaScript se considera un objeto, aunque typeof devuelve "function" para ella?
¿Qué otros métodos de arrays conoces, además de reduce (ordenamiento, filtrado, métodos mutantes, etc.)?
Si se coloca un listener de eventos en el div padre en lugar del input, ¿se activará el manejador de eventos del input en el propio input (explica el mecanismo de burbujeo de eventos)?
¿Por qué decidió considerar otras ofertas? ¿Qué no le gusta de su puesto actual o qué le motivó a buscar un nuevo lugar?
¿Qué es la palabra clave satisfies en TypeScript? ¿Cuándo y cómo se usa?
¿Qué significa el guion bajo en el nombre de una propiedad de clase, por ejemplo _data, y hace que la propiedad sea privada?
¿Cómo se implementó en su plan la validación de formularios?
¿Cómo copiar un objeto (tipo no primitivo) para que los cambios en la copia no afecten al original?
¿En qué se diferencia el tipo void de never en TypeScript?
¿Qué sucede en el navegador después de ingresar la URL en la barra de direcciones?
¿Qué cambiará en los resultados en las tres líneas si conviertes la función getName en una función de flecha?
¿Qué se mostrará en la consola en las líneas 12, 13 y 14 del código con diferentes llamadas a la función, dado un objeto con el método getName?
¿Cómo asignar un objeto de manera que no sea una transferencia por referencia (cómo copiar un objeto, superficial y profundamente)?
¿Cómo funciona enum en TypeScript — qué sucede con las claves y valores si los valores no se especifican o se especifican explícitamente?
¿Cuál es el tipo del elemento input en TypeScript si lo obtienes a través de querySelector?
¿Has trabajado con la biblioteca Zod?
Escriba los tipos para la función reduce usando generics (tipo de array, callback con acumulador, valor actual, índice, valor inicial).
¿Por qué es posible llamar a métodos integrados, como toString, en tipos primitivos?