Funciona la primera vez cuando paso "q" en mi entrada, pero después de eso, ya no funciona. ¿Por qué? Agradezco cualquier tipo de consejo.
alert("Welcome to your To-Do List!") let userInput = prompt("What would you like to do?"); let toDo = []; while (userInput != "q") { let userInput = prompt("What would you like to do?"); console.log(userInput); }Debido a que está declarando una nueva variable de entrada de userInput dentro del bucle, debe reasignarla a la misma variable.
alert("Welcome to your To-Do List!") let userInput = prompt("What would you like to do?"); let todos = []; while (userInput != "q") { todos.push(userInput); userInput = prompt("What would you like to do?"); } console.log(todos);Porque ha definido la variable userInput dentro del ciclo while nuevamente. Esto hace que tenga un alcance local para el ciclo while. Simplemente elimine let antes de la variable userInput en while loop.
El problema es que el tercer let . Está creando otro userInput , con el alcance de ese bloque interno, que sombrea el externo.
Intenta cambiarlo a:
alert("Welcome to your To-Do List!") let userInput = prompt("What would you like to do?"); let toDo = []; while (userInput != "q") { userInput = prompt("What would you like to do?"); console.log(userInput); }Puedes leer más sobre let aquí .