Creo que hay que convertir el tipo de dato para que se compare correctamente el dato y en if mandar un mensaje si el tipo de dato no es válido...
let edad = prompt("Ingrese su edad:");
edad = Number(edad); // Convertimos a número
if (edad >= 18) {
console.log("Eres mayor de edad.");
} else {
console.log("Eres menor de edad.");
}
Donde Number es la función que convierte texto a número y edad es el argumento que pasas a la funcion o lo que contiene el prompt
Lo cual al no especificar el tipo de dato puede que pongan "once" y eso se lee como un NaN Not a Number. Para evitar eso podriamos poner un mensaje que pida que introduzca números...
let edad = prompt("Por favor, ingrese su edad:");
edad = Number(edad);
if (isNaN(edad)) {
console.log("Por favor, ingrese un número válido.");
} else if (edad >= 18) {
console.log("Eres mayor de edad.");
} else {
console.log("Eres menor de edad.");
}
Donde decimos "si no es un número, entonces manda este mensaje" y usamos else if para checar que el número sea mayor a 18.
Cordiales saludos compañeros :3 espero me haya dado a entender