Encantado de conocerlos a todos. Soy nuevo en la programación aquí .... mi pregunta es ¿por qué la consola no imprimió la cadena 'error' sino que imprimió 'Randommm' en su lugar? ya que no paso la primera sentencia
const getUserChoice = (userInput) => { userInput = userInput.toLowerCase(); if (userInput === "rock" || "scissors" || "paper" || "bomb") { return userInput; } else { console.log("Error"); } }; getUserChoice("Randommm"); //output:'nothing comes out instead of 'Error' console.log(getUserChoice('rocK')) //output :rock (works fine)Su declaración if no está haciendo una comparación en las condiciones 2, 3 y 4. Tienes que indicar explícitamente con qué comparar. Podrías hacer algo como:
(userInput === "rock" || userInput === "scissors" ||userInput === "paper" || userInput === "bomb")
Pero le sugiero que saque las palabras a una matriz y haga una comparación si la entrada del usuario existe dentro de la matriz.
const choices = ["rock", "scissors", "paper", "bomb"]; const getUserChoice = (userInput) => { userInput = userInput.toLowerCase(); if (choices.includes(userInput)) { return userInput; } else { console.log("Error"); } }; console.log(getUserChoice("Randommm")); //output:'Error' instead of 'Randommm'