Regístrate para acceder a más de 15 cursos gratuitos de programación con un simulador

Módulos Fundamentos de JavaScript

Cuando programas, es muy útil dividir tu código en partes pequeñas llamadas módulos. Dividir tu código en módulos hace que puedas trabajar mejor y evitar copiar y pegar código.

Exportar

Es dar permiso para que algo se use fuera del archivo donde está.
Importar

Es traer ese algo a otro archivo para usarlo allí.

Así, cada archivo puede compartir solo lo que necesita y usar lo que otros ofrecen.

Export

Exportar cosas desde un archivo

Imagina que tienes un archivo llamado math.js donde guardas funciones y números que quieres usar en otras partes:

// math.js — módulo con funciones matemáticas

// Aquí “exportamos” estas cosas para que otros archivos puedan usarlas
export const pi = 3.14;
export const square = (x) => x * x;

// Esta es la exportación principal del módulo, solo puede haber una así
export default function surfaceArea(r) {
  return 4 * pi * square(r);
}
  • Las dos primeras son exportaciones “nombradas”, porque les pusiste nombre (pi y square).
  • La última es la exportación “por defecto”, que normalmente es la función o dato principal que quieres compartir.

Cómo importar esas cosas en otro archivo

Supongamos que tenemos otro archivo llamado planets.js y queremos usar las funciones y números de math.js. Entonces:

// planets.js — aquí usamos lo que exportamos antes

// Traemos solo lo que necesitamos usando llaves {}
import { square, pi } from './math.js';

// Traemos la exportación por defecto sin llaves
import surfaceArea from './math.js';

console.log(surfaceArea(5));  // Calcula y muestra el área de la superficie
console.log(square(10));      // Calcula y muestra el cuadrado de 10
console.log(pi);              // Muestra el valor de pi
  • Las exportaciones nombradas se importan entre {}.
  • La exportación por defecto se importa sin {} y puedes darle el nombre que quieras.
💡 Puedes escribir las llaves con o sin espacios al importar. Por ejemplo:
import {square,pi} from './math.js'; o import { square, pi } from './math.js'; — ambas formas funcionan igual en JavaScript.

Traer todo junto con un alias

Si quieres, puedes importar todo el contenido de un módulo bajo un nombre (alias), y luego usarlo con ese nombre:

import * as math from './math.js';

console.log(math.pi);
console.log(math.square(5));
console.log(math.default(10)); // La función por defecto está en math.default

No olvides la extensión .js

Cuando importas módulos, debes poner siempre la extensión .js al final del archivo:

import { pi } from './math.js';  // Así es correcto
import { pi } from './math';     // Así da error en muchos navegadores y entornos

Esto es importante para que JavaScript sepa qué archivo cargar.

¿Por qué usar módulos?

  • Te ayuda a organizar tu código y que sea más fácil de entender.
  • Puedes reutilizar funciones y datos en varios archivos sin tener que copiar y pegar.
  • Facilita el trabajo en equipo porque cada quien puede trabajar en módulos distintos.
  • Es la forma moderna y recomendada de estructurar proyectos en JavaScript.


Resumen

  • Exportar es compartir funciones o datos para que otros archivos los usen.
  • Importar es traer esas funciones o datos para usarlos en tu archivo.
  • Hay exportaciones nombradas (varias por archivo) y una exportación por defecto (solo una por archivo).
  • Recuerda siempre poner la extensión .js al importar.
  • Los módulos hacen que tu código sea limpio, reutilizable y fácil de mantener.

Materiales adicionales

  1. Documentación de Node.js: Módulos EcmaScript
  2. V8: Módulos de JavaScript
  3. Explorando JS: Módulos

Para acceder completo a curso necesitas un plan básico

El plan básico te dará acceso completo a todos los cursos, ejercicios y lecciones de Códica, proyectos y acceso de por vida a la teoría de las lecciones completadas. La suscripción se puede cancelar en cualquier momento.

Obtener acceso
130
cursos
1000
ejercicios
2000+
horas de teoría
3200
test

Obtén acceso

Cursos de programación para principiantes y desarrolladores experimentados. Comienza tu aprendizaje de forma gratuita

  • 130 cursos, 2000+ horas de teoría
  • 1000 ejercicios prácticos en el navegador
  • 360 000 estudiantes
Al enviar el formulario, aceptas el «Política de privacidad» y los términos de la «Oferta», y también aceptas los «Términos y condiciones de uso»

Nuestros graduados trabajan en empresas como:

Bookmate
Health Samurai
Dualboot
ABBYY