Hola Hugo, respondiendo a tus preguntas, tienes toda la razón acerca de diferente incógnitas que se dan como si es mayor y no tiene licencia, se tendría que concatenar más if y puede ser algo muy dificil de mantener. Pero cómo estamos recién empezando en este mundo de la programación hice una solución que posiblemente no sea la más optima pero que sirve para dar solución a diferentes problemáticas que el usuario podría ingresar. Te dejo el código a continuación para dar tu análisis:
<meta charset="UTF-8">
<script>
function saltarLinea() {
document.write("<br>");
}
function imprimir(frase) {
document.write(frase);
saltarLinea();
}
var edad = parseInt(prompt("¿Cuál es tu edad?"));
var tieneLicencia = prompt("¿Tienes licencia? Responde S o N").toUpperCase();
// La función .toUpperCase(), me ayudá a colocar S o N en mayúscula, no importa si el usuario lo ingreso con minúscula.
if (edad >= 18 && tieneLicencia == "S") {
imprimir("Puede conducir")
}
if (edad >= 18 && tieneLicencia == "N") {
imprimir("Es mayor de edad, pero necesita una licencia para conducir");
}
if (edad >= 18 && tieneLicencia != "S" && edad >= 18 && tieneLicencia != "N") {
imprimir("Credencial de licencia incorrectos para validar si puede conducir o no!");
}
if (edad < 18 && tieneLicencia != "S" || edad < 18 && tieneLicencia != "N") {
imprimir("No puede conducir, debe ser mayor de edad obtener la licencia")
}
</script>
Utilice la función .toUpperCase() para que si el usuario ingreso con minúscula su letra, está se convierta en mayúscula. Espero te haya ayudado compañero.