0Pricing
JavaScript Academy · Lección

Fundamentos de ESM: import/export, default frente a named

Aprenda los fundamentos de import/export en ESM: qué es un módulo, exports con nombre frente a default, imports de namespace y una breve comparación con CommonJS.

Fundamentos de ESM: import/export, default frente a named es una lección gratuita de JavaScript Academy en CoddyKit. Esta es la lección 1 de 3. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de JavaScript Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de JavaScript Academy incluye 3 lecciones en total.

¿Qué es un módulo?

Objetivo: lea la sintaxis de los módulos con confianza.

  • Qué es un módulo
  • Exportaciones con nombre frente a predeterminadas
  • import * como espacio de nombres
  • Contraste rápido con CJS
Fundamentos de ESM: import/export, default frente a named — ilustración 1

Módulo = archivo + ámbito local

Un módulo es un archivo. Sus variables son locales a menos que las export.

// A module is just a file with its own scope
// Here we simulate "module scope" by keeping variables local.
(function () {
  const secret = 42;                          // local to this file/scope
  function reveal() { return "value:" + secret; }
  console.log("module-like scope:", typeof secret === "number", reveal());
})();
Fundamentos de ESM: import/export, default frente a named — ilustración 2

Exportaciones con nombre — idea

Las exportaciones con nombre usan llaves al importar: import { name }. Puede exportar varios elementos desde un archivo.

// Named exports: you export multiple items by name
const exampleNamedExport = [
  "export const PI = 3.14;",
  "export function sum(a, b) { return a + b; }",
  "import { PI, sum } from \\"./math.js\\";"
];

console.log("named export example:");
for (const line of exampleNamedExport) console.log(line);

// Tiny emulation: pretend we imported two named symbols
const PI = 3.14;
function sum(a, b) { return a + b; }
console.log("emulated use:", PI, sum(2, 3));
Fundamentos de ESM: import/export, default frente a named — ilustración 3

Exportación predeterminada — idea

Una exportación predeterminada se importa sin llaves: import name from "path".

// Default export: each module can have at most one default
const exampleDefault = [
  "export default function greet(name) { return \\"Hi \\" + name; }",
  "import greet from \\"./greet.js\\"; // no braces"
];

console.log("default export example:");
for (const line of exampleDefault) console.log(line);

// Emulation of default import usage
function greet(name) { return "Hi " + name; }
console.log("emulated default:", greet("Ayla"));
Fundamentos de ESM: import/export, default frente a named — ilustración 4

Importación de espacio de nombres

import * as ns reúne las exportaciones con nombre en un solo objeto (por ejemplo, math.sum).

// Namespace import collects all named exports under one object
const exampleNamespace = [
  "import * as math from \\"./math.js\\";",
  "console.log(math.PI, math.sum(1, 2));"
];

console.log("namespace import example:");
for (const line of exampleNamespace) console.log(line);

// Emulate a namespace object
const math = { PI: 3.14, sum: function (a, b) { return a + b; } };
console.log("namespace use:", math.PI, math.sum(4, 5));
Fundamentos de ESM: import/export, default frente a named — ilustración 5

Contraste entre CJS y resolución

CJS frente a ESM (visión general):

  • ESM: sintaxis de importación y exportación (estática). Ejemplo: import { x } from "./m.js".
  • CJS: require/module.exports (dinámica). Ejemplo: const x = require("./m.js").
  • En ESM, use extensiones de archivo explícitas en el navegador y en muchas configuraciones de Node (por ejemplo, ./file.js).
Fundamentos de ESM: import/export, default frente a named — ilustración 6

Cuestionario sobre importaciones con nombre y predeterminadas

Comprobación rápida: sintaxis de importación con nombre.

Fundamentos de ESM: import/export, default frente a named — ilustración 7

Repaso

Repaso: un módulo es un archivo. Use exportaciones con nombre con llaves, una exportación predeterminada sin llaves e import * para un espacio de nombres. CJS usa require y ESM usa import.

Fundamentos de ESM: import/export, default frente a named — ilustración 8

Preguntas frecuentes

¿La lección «Fundamentos de ESM: import/export, default frente a named» es gratis?

Sí — el texto completo de «Fundamentos de ESM: import/export, default frente a named» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de JavaScript Academy, actualiza a CoddyKit PRO. El curso de JavaScript Academy incluye 3 lecciones en total.

¿Qué aprenderé en «Fundamentos de ESM: import/export, default frente a named»?

Aprenda los fundamentos de import/export en ESM: qué es un módulo, exports con nombre frente a default, imports de namespace y una breve comparación con CommonJS. Practicas JavaScript Academy con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.

¿Necesito experiencia previa para empezar JavaScript Academy?

No se requiere experiencia previa. JavaScript Academy en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 1 de 3.

¿Cuánto tiempo toma la lección «Fundamentos de ESM: import/export, default frente a named»?

La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.

¿Puedo escribir y ejecutar código en esta lección de JavaScript Academy?

Sí. Cada lección de JavaScript Academy incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.

Todas las lecciones de este curso

  1. Fundamentos de ESM: import/export, default frente a named
  2. Fundamentos de CommonJS: require/module.exports y exports
  3. Resolución de módulos en Node y bundlers del navegador
← Volver a JavaScript Academy