Buenas noches , revisando el ejercicio , encuentro que el error en el código no está precisamente en el else if , si no la evaluación al no considerar cifras como el 5000 para el descuento del 10% o el 30000 para descuentos del 20%.
A su vez se debe verificar el valor de los porcentajes a otorgar ya que el 20% al colocarlo en números equivale a 0.2 y el 10% equivale al 0.1 , de lo contrario se estaría aplicando un porcentaje del 2000% al colocar solo 20 , y de 1000% al colocar solo 10 , a menos que se realicen las operaciones matemáticas en un código aparte.
Para dar claridad a lo anterior aquí está mi posible solución ya que las opciones a seleccionar no encontre dichas inquietudes, quedo atento a retroalimentacion de ser incorrrecta mi logica , muchas gracias :
// variables
let porcentajeDescuento;
let cantidadMillas = prompt("Ingrese la cantidad de millas");
/*
condicional , if evalúa que la cantidad de millas sea de 30000
o superior para tener un 20% de descuento.
*/
if (cantidadMillas >= 30000) {
/*
se debe considerar que el 20 % en números equivale a 0,2,
de lo contrario se estaría aplicando el 2000%
*/
porcentajeDescuento = 0.2;
} else if (cantidadMillas >= 5000) {
/** else if, condicional intermedio que evaluara si las millas
equivalen a 5000 o superior para darles el 10% de descuento.
*/
/** al igual que en el primer caso se debe considerar que el 10 %
en números equivale a 0,1, de lo contrario se estaría aplicando el 1000%
*/
porcentajeDescuento = 0.1;
}
// else se ejecuta en caso de que el if , ni el else if sean correctos
else {
porcentajeDescuento = 0.0;
}
console.log(porcentajeDescuento);