Saltar al contenido principal
Codigo Heroe
Tarea anterior
Funciones12/19
A la lista de tareas
  1. 1. Cálculo de millas con variables
  2. 2. Condición para vuelos largos
  3. 3. Reutilizar variables sin declararlas de nuevo
  4. 4. Crear una función
  5. 5. Llamar a una función
  6. 6. Parámetros y argumentos
  7. 7. Orden de los argumentos
  8. 8. Devolver un valor con return
  9. 9. Parámetros booleanos
  10. 10. Guardar el resultado en una variable
  11. 11. Salida anticipada con return
  12. 12. Simplificar el cálculo con una variable
  13. 13. Agregar una condición al cálculo
  14. 14. Llamar a una función desde otra
  15. 15. Agregar un parámetro y redondear el resultado
  16. 16. Devolver y usar la cantidad de vuelos
  17. 17. Reutilizar los resultados de una función
  18. 18. Comparar los resultados
  19. 19. Llamar a funciones dentro de un ciclo
Siguiente tarea
  • Matriz de skills
  • Cursos
  • Registro
  • Iniciar sesión

Loading…
En unos segundos, estará listo.

  • Teoría
  • Teoría

Simplificar el cálculo con una variable

Terminamos el primer paso de la refactorización. Lo principal es que la función sigue trabajando igual que antes, así que podemos continuar. Fíjate: dentro de la función se repite el cálculo de las millas. Las expresiones solo se diferencian en el porcentaje:

let calculateMiles = function (distance, isBusinessClass) {
  if (isBusinessClass) {
    return distance * 0.22;
  }
  return distance * 0.18;
};

Veamos la solución desde otro ángulo: ¿y si en las condiciones calculamos el porcentaje en lugar de repetir el cálculo de millas? Podemos plantearlo así: el porcentaje base es 18 y, si volamos en clase ejecutiva, aumenta 4 puntos. Al final de la función calculamos y devolvemos las millas una sola vez.

let calculateMiles = function (distance, isBusinessClass) {
  // Definimos el porcentaje
  if (isBusinessClass) {
    // Cambiamos el porcentaje
  }
  // Calculamos y devolvemos las millas
};

Este es el segundo paso de la refactorización: creamos la variable percent, cuyo valor cambiará según la condición, y devolvemos el resultado de la expresión distance * percent.

Así el código será más claro y habrá un solo punto de salida de la función. Será más fácil leerla, porque las condiciones que modifican el porcentaje podrán ir una después de otra, en lugar de estar anidadas.

El punto de salida de una función es el lugar donde deja de ejecutarse y entrega su resultado al exterior.

  • script.js
JavaScript
let calculateMiles = function (distance, isBusinessClass) { if (isBusinessClass) { return distance * 0.22; } return distance * 0.18; }; let milesEconom = calculateMiles(3000, false); let milesBusiness = calculateMiles(3000, true); console.log('En clase económica de Cupcakeflot acumularás ' + milesEconom + ' millas'); console.log('En clase ejecutiva de Cupcakeflot acumularás ' + milesBusiness + ' millas');
Consola

El código ha cambiado, haga clic en "Ejecutar" o active la ejecución automática.

Resultado de la ejecución

ObjetivosRealizado
0
    1. Al principio del cuerpo de la función, en la línea 2, crea la variable percent con el valor 0.18.
    2. Dentro de la condición, en lugar de calcular las millas, aumenta el valor de percent en 0.04.
    3. Sustituye la expresión que devuelve la función por distance * percent.
    Codigo Heroe

    © 2023-2026, codigoheroe.com