Saludos!!!
Les dejo el código que utilizé para resolver el problema. La diferencia que se puede apreciar es el uso del comando break y por ello cambia un poquito el como debemos utilizar la lógica. Si desean pueden ejecutar el código y borrar el segundo break que coloco, les aparecerá un error. La pregunta es: ¿por qué?
<meta charset="UTF-8">
<script>
let inicioDeSesionRegistrado = "alura",
contrasenhaRegistrada = "alura321",
inicioDeSesionIngresado = "",
contrasenhaIngresada = "",
intentos = 3,
contador = 1;
while(contador <= intentos){
inicioDeSesionIngresado = prompt("Ingrese su usuario");
contrasenhaIngresada = prompt("Ingrese su contraseña");
if( inicioDeSesionRegistrado == inicioDeSesionIngresado && contrasenhaRegistrada == contrasenhaIngresada ) {
alert("Bienvenido al sistema " + inicioDeSesionIngresado);
break;
}
else {
if (contador == intentos){
alert("Lo sentimos, ha fallado sus tres intentos para ingresar al sistema. Su cuenta será suspendida.");
break;
}
else{
alert("Inicio de sesión inválido. Favor intente de nuevo");
contador++;
}
}
}
</script>