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:

class Portfolio {
    constructor() {
        this.moneys = [];
    }

    add(...moneys) {
        this.moneys = this.moneys.concat(moneys);
    }

    evaluate(currency) {
        let total = this.moneys.reduce((sum, money) => {
            return sum + money.amount;
        }, 0);
        return new Money ...

Get Aprender el desarrollo basado en pruebas now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.