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)
8
respuestas

DUDA ejercicio 4

  1. Crea una función que se ejecute cuando se haga clic en el botón "prompt", preguntando el nombre de una ciudad de Brasil. Luego, muestra una alerta con el mensaje concatenando la respuesta con el texto: "Estuve en {ciudad} y me acordé de ti".

Resolución: let mensajePrompt = 0;

function intentoUsuarioPrompt() { mensajePrompt = prompt("¿Cuál es el nombre de una ciudad de Brasil?"); console.log(mensajePrompt); alert(Estuve en ${mensajePrompt} y me acordé de ti); }

Mi duda es, en el ejercicio le declaré un valor a la variable como "0", pero no es necesario declararle un valor no? o puedo poner directamente let mensajePrompt; Gracias!!

8 respuestas

Hola, y porque declaraste una variable mensaje igual a 0?

Yo lo hice así:

function ciudad() { let city = prompt('Ciudad de Brasil'); alert(Estuve en la ciudad de ${city} y me acordé de ti); }

solución!

Sí, puedes declarar la variable sin asignarle un valor inicial directamente, como en let mensajePrompt;.

Esto es perfectamente válido en JavaScript. Al no asignarle un valor inicial, la variable se inicializará con el valor undefined hasta que le asignes un valor mediante la ejecución del código.

En este caso, cuando el usuario ingrese una ciudad, la variable mensajePrompt tomará ese valor. Entonces, puedes usar let mensajePrompt; en lugar de let mensajePrompt = 0; sin ningún problema.

Espero a verte ayudado.

Hola, si la variable declarada espera recibir una string, puedes declararla de la siguiente manera: let mensaje= ' '

Hola Estudiante.

Considero que si es válido poner directamente la declaración junto a la asignación del prompt, de esta manera:

function intentoUsuarioPrompt() { 
    let mensajePrompt = prompt("¿Cuál es el nombre de una ciudad de Brasil?"); 
    console.log(mensajePrompt); 
    alert('Estuve en ${mensajePrompt} y me acordé de ti');}

Lo único que veo en el código que compartiste es que le falta los backtips al alert de modo que el uso de template literals pueda funcionar.

Al declarar la variable dentro de la función se debe tener en cuenta su scope (o alcance), lo siguiente lo comparto de la documentación MDN:

Las variables declaradas por let tienen su alcance en el bloque para el que están declaradas, así como en cualquier subbloque contenido. De esta manera, let funciona de manera muy similar a var. La principal diferencia es que el alcance de una variable var es toda la función envolvente:

function varTest() {
  var x = 1;
  {
    var x = 2; // la misma variable!
    console.log(x); // 2
  }
  console.log(x); // 2
}

function letTest() {
  let x = 1;
  {
    let x = 2; // diferente variable
    console.log(x); // 2
  }
  console.log(x); // 1
}

Espero esto sea de ayuda.

Hola Fernando! Los backticks los puse pero se ve que al copiar y pegar el código no los lee. Muchas gracias por tu explicación entre la diferencia de var y let, si se ve bien la diferencia con tu explicación!! Saludos

Hola Berenice !! Perfecto! otra forma de declararla! Muchas gracias por tu ayuda! Saludos!

Hola Jeyson! Solamente para darle un valor, pero no es necesario según me explicaron! se puede declarar directamente dentro de la función. Gracias!! Saludos

Hola Jeyson! Solamente para darle un valor, pero no es necesario según me explicaron! se puede declarar directamente dentro de la función. Gracias!! Saludos