mobile theme mode icon
theme mode light icon theme mode dark icon
Random Question Aleatorio
speech play
speech pause
speech stop

Calcular total con descuento en JavaScript

En el código que proporcionó, hay algunos problemas que podrían considerarse "incorrectos" o subóptimos:

1. Falta la declaración `return`: la función `calculate_total()` no devuelve nada, lo que significa que devolverá `indefinido` de forma predeterminada. Debe agregar una declaración `return` al final de la función para especificar qué valor devuelve.
2. Variables no utilizadas: A la variable `descuento` se le asigna un valor pero nunca se usa. Debe eliminar el código no utilizado para evitar confusiones y hacer que el código sea más legible.3. Números mágicos: el código utiliza valores codificados como "10" y "50" sin ninguna explicación o documentación. Sería mejor usar constantes o variables con nombre para que el código sea más legible y fácil de mantener.4. Complejidad: el código tiene múltiples declaraciones "if" anidadas, lo que puede dificultar su comprensión y depuración. Podrías simplificar el código consolidando algunas de las condiciones en una sola declaración "if" o usando una declaración "switch".5. Falta de manejo de errores: el código no maneja errores si el usuario ingresa un valor no válido para el porcentaje de descuento. Debe agregar manejo de errores para garantizar que la función maneje correctamente las entradas inesperadas.

Aquí hay una versión actualizada del código que soluciona estos problemas:
```javascript
función calcular_total(precio, descuento) {
const DISCOUNT_PERCENTAGE = 0.1; // define una constante para el porcentaje de descuento

if (descuento === indefinido || descuento < 0 || descuento > 100) {
throw new Error('Valor de descuento no válido');
}

const total = precio * (1 - (DISCOUNT_PERCENTAGE * descuento));

total de devolución;
}
```

Knowway.org utiliza cookies para brindarle un mejor servicio. Al usar Knowway.org, acepta nuestro uso de cookies. Para obtener información detallada, puede revisar el texto de nuestra Política de cookies. close-policy