Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Solucionado (ver solución)
Solucionado
(ver solución)
2
respuestas

[Duda] Función parseInt

Estaba resolviendo el desafío, y me resultaban todas las funciones, excepto la suma. Sólo me junatba los números (por ejemplo, ponía 3 y 2, y me devolvía 32 en vez de 5) Revisé la opinión del Instructor, y la diferencia principal entre su código y el mío, era la función parseInt. Al incorporarla, finalmente me sumó bien los números. Entonces mi consulta es: ¿por qué funcionó con parseInt? ¿Y por qué no funcionaba sin esa función?

También dejo mi código del desafío, por si quieren comentarlo tmbn:

let titulo = document.querySelector('h1');
titulo.innerHTML = 'Hora del Desafío';

function clickBoton(){
    alert('El botón fue clicado');
}

function ciudadBrasil(){
    let ciudadBrasil=prompt('Mencione una ciudad de Brasil');
    alert(`Estuve en ${ciudadBrasil} y me acordé de ti`);
}

function amorJs(){
    alert('Yo amo JS');
}

function suma(){
    let num1 = parseInt(prompt('Dame un número:'));
    let num2 = parseInt(prompt('Ahora dame otro número:'));
    let sumaNum = num1 + num2;
    alert(`Tus dos números suman ${sumaNum}`);
}
2 respuestas
solución!

Hola, sucede que en la función prompt lo que se esta guardando en es un string, y al ser este un valor alfabetico no es compatible para la suma, por ello se debe convertir a integer con la función parseInt.

Otra forma de hacerlo en cambiar el formato directo la suma:

Espero sea de ayuda

Saludos ✌️

function intentoSuma() {
    let primerNumero = 0;
    let segundoNumero = 0;
    let resultado = 0;

    primerNumero = prompt('Digita un número');
    segundoNumero = prompt('Digita otro número');
    resultado = parseInt(primerNumero) + parseInt(segundoNumero); 
    alert(`la suma de ${primerNumero} y ${segundoNumero} es ${resultado}`);
}

Perfecto, ¡muchas gracias! Me quedó clarito :)