2
respuestas

[Duda] Funciones Abreviadas

Buen dia, quiero liberarme de algunas dudas, espero me puedan correguir o brindar su apoyo explicandome las siguientes lineas de codigo las cuales me tienen pensando su significado.

Primero, tengo entendido que la siguiente variable es igual a un Array, el cual contiene un objeto que es nacimiento, y que este a su vez es igual a la funcion "validarNacimiento", o bueno al valor que retorne esta funcion. ¿Estara bien mi explicación?

const validadores = {
    nacimiento: (input) => validarNacimiento(input),
};

Segundo, aca si estoy perdido, mi problema es con la condicional, si alguien me puede explicar el parametro y lo que ejecuta en caso se cumpla, me servira de mucho.

export function valida(input) {
    const tipoDeInput = input.dataset.tipo;
    if (validadores[tipoDeInput]) {
        validadores[tipoDeInput](input);
    }
}
2 respuestas

Hola Alberling, espero que estés bien! ¡Que increible! Felicitaciones por la creatividad! Gracias por compartir tu código con nosotros. Le recomendamos que comparta su código con sus colegas en Discord, allí es posible que todos lo vean e interactúen contigo. Si tiene alguna pregunta sobre el contenido del curso, estamos aquí para ayudarlo. ¡Sigue practicando! ¡Vamos juntos! :)

Si este post te ayudó, por favor, marca como solucionado ✓. Continúa con tus estudios! :)

Hola buenas tardes desde México. Tengo exactamente la misma duda, si embargo la respuesta de arriba no resuelve el par de dudas del compañero. quisiera aquí colocar mis dudas aprovechando el post.

La duda se genera después de que Harland elimina las siguientes líneas de código, para pasar a escribir un código que permita reutilizar los addEventListeners, según entiendo, hasta ahí todo bien:

//const inputNacimiento = document.querySelector("#birth"); 
// la línea de arriba crea una constante llamada inputNacimineto la cual va a ser igual al valor que se ingrese en ese campo con la estiqueta #birth, que es la fecha de nacimiento del usuario en turno.

La siguiente línea que eliminó fue la siguiente:

//inputNacimiento.addEventListener("blur", (evento) =>{
    //validarNacimiento(evento.target);        
//});

// que lo que hace es escuchar el evento, en este caso el evento es cuando el foco cambia hacia otro objeto, es decir sale de ese campo donde se ingresó la fecha para validarlo

eso lo puedo entender. sin embargo, las siguientes líneas de código me generan la misma duda que el compañero, no entiendo la digamos "cascada" de eventos que se dan a partir de las líneas de código nuevas para llevar a cabo el proceso de escuchar y validar la fecha de nacimineto, que ahora está ligada a un data atribute asociado a la clase birth, según entiendo. Ahora lo que va a passar es que va a filtrar a partir de todos ls data atributes que generemos el que corresponda a la fecha de nacimiento para llevar a cabo la validación. Pero no me queda claro que parte del código hace, qué cosa. Ayuda por favor, si mi lógica está mal me gustaría que me lo explicaran para poder entender. Saludos y gracias.

import {valida} from *./validaciones.js;

const inputs = document.querySelectorAll("input");

inputs.forEach(input =>{
    input.addEventListener("blur", (input)=>{
        valida(input.target);
    });

});