Capítulo 6. Módulos en JavaScript
Este trabajo se ha traducido utilizando IA. Agradecemos tus opiniones y comentarios: translation-feedback@oreilly.com
Un módulo es una función u objeto que presenta una interfaz pero que oculta su estado e implementación.Douglas Crockford, JavaScript:The Good Parts (O'Reilly, 2008)
En este capítulo, realizaremos varias acciones que limpian y mejoran nuestro código JavaScript. Separaremos nuestro código de prueba de nuestro código de producción utilizando módulos de JavaScript. Hay varias formas de escribir módulos en JavaScript: veremos cuatro estilos diferentes y su aplicabilidad a nuestro código. Centraremos nuestra atención en cómo está organizado nuestro código de prueba, y después mejoraremos su ejecución y el resultado que produce. Por último, eliminaremos algunas redundancias en nuestras pruebas. Eso es mucho trabajo, así que ¡manos a la obra!
Separar nuestro código en módulos
Separemos las clases Money y Portfolio del código de prueba. Creamos dos nuevos archivos llamados money.js y portfolio.js en la misma carpeta que test_money.js y trasladamos allí el código correspondiente. Ésta es nuestra nueva estructura de carpetas:
js ├── money.js ├── portfolio.js └── test_money.js
Así es como se ve portfolio.js:
classPortfolio{constructor(){this.moneys=[];}add(...moneys){this.moneys=this.moneys.concat(moneys);}evaluate(currency){lettotal=this.moneys.reduce((sum,money)=>{returnsum+money.amount;},0);returnnewMoney ...