¿Qué son los módulos?
Parte de la sección Programación Orientada a Objetos del Journey de JavaScript de Coddy — lección 7 de 56.
Cuando tu código JavaScript se vuelve grande y complejo, se vuelve difícil gestionarlo todo en un solo archivo. La solución son los módulos: dividir tu código en archivos separados y organizados.
Un módulo es un archivo JavaScript que contiene código relacionado. Cada módulo se encarga de una tarea específica, haciendo que tu aplicación sea más fácil de entender y mantener.
Un módulo de JavaScript es un archivo .js normal que puede export código (variables, funciones, clases) para que otros archivos puedan import y usarlo.
Ejemplo:
Un archivo desordenado:
// archivo: messy-app.js
let user = "John";
let score = 0;
function login() {
console.log("Welcome " + user);
}
function addPoints(points) {
score += points;
}Dos archivos organizados con Módulos:
// file: user-module.js
let user = "John";
function login() {
console.log("Welcome " + user);
}
// file: game-module.js
let score = 0;
function addPoints(points) {
score += points;
}user-module.js - Se encarga de la autenticación de usuarios y los datos relacionados con el usuario, y contiene el nombre de usuario y la funcionalidad de inicio de sesión.
game-module.js - Gestiona el sistema de puntuación y puntos del juego, realiza el seguimiento de la puntuación y maneja los cálculos de puntos.
Desafío
FácilTienes dos módulos ya conectados: user-module.js y game-module.js.
Tu tarea es llamar a la función addPoints con el valor 10 en user-module.js.
Resultado esperado:
Score increased! Current score: 10
Pruébalo tú mismo
import { addPoints } from './game-module.js';
let user = "John";
// TODO: Llamar a la función addPoints con el valor 10
Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.
Todas las lecciones de Programación Orientada a Objetos
1Objetos y la palabra clave this
Repaso rápido: ObjetosAgregar métodos a los objetosEntendiendo la palabra clave thisFunciones constructorasLa palabra clave newDesafío de repaso7Herencia y la palabra clave extends
HerenciaLa relación "es-un"La palabra clave extendsEl método super()Heredar propiedades y métodosDesafío de repaso13Composición vs. Herencia
La relación "tiene-un" vs. "es-un"Los límites de la herencia profundaConstrucción de objetos2Organización del código
¿Qué son los módulos?Exportar con exportImportar con importExportaciones por defecto vs. nombradas5Encapsulamiento y Acceso
EncapsulamientoCampos de clase públicos y privadosMétodos privadosDesafío de repaso8Organización del código OOP
Organizar clases en módulos11Proyecto: Un renderizador de figuras
Configuración: Clase Figura y exportaciónHerencia de la clase CírculoSobrescritura y método de áreaContador de figuras estático14Sistema de Gestión de Biblioteca
Diseño de la BibliotecaClase Libro con ComposiciónValidación del Autor del Libro9Métodos y propiedades estáticos
Nivel de clase vs. Nivel de instanciaPropiedades estáticasMétodos de utilidad estáticosDesafío de repaso