¡Hola Estudiante, espero que estés bien!
Entiendo tu confusión con el operador de igualdad estricta [===]. La diferencia principal entre los operadores de igualdad [==] y de igualdad estricta [===] radica en cómo manejan los tipos de datos.
Cuando usas el operador de igualdad [==], JavaScript intenta convertir los valores para que sean del mismo tipo antes de hacer la comparación. Por otro lado, el operador de igualdad estricta [===] no realiza ninguna conversión de tipos, por lo que compara tanto el valor como el tipo de dato.
Por ejemplo, si tienes un número y una cadena que representan el mismo valor, el operador de igualdad [==] los considerará iguales, pero el operador de igualdad estricta [===] los considerará diferentes debido a sus tipos de datos diferentes.
En tu caso, al usar el operador de igualdad [==], es posible que JavaScript esté convirtiendo los valores para que sean del mismo tipo antes de hacer la comparación, lo que resulta en un valor true. Sin embargo, al usar el operador de igualdad estricta [===], JavaScript compara tanto el valor como el tipo de dato, y al notar que son de tipos diferentes, devuelve false.
Para entender mejor, aquí tienes un ejemplo:
let numero = 10;
let cadena = "10";
console.log(numero == cadena); // true
console.log(numero === cadena); // false
Espero que esto aclare tu confusión. Si necesitas más ayuda, no dudes en preguntar. ¡Buena suerte con tu juego del número secreto! ¡Sigue adelante!