TypeScript

TypeScript

Tutorial TypeScript: Módulos

TypeScript módulos: organización de código. Domina la organización de código en TypeScript utilizando módulos con ejemplos prácticos y detallados.

Aprende TypeScript y certifícate

Definición y Estructura

Los módulos en TypeScript son una forma de organizar y dividir el código en bloques lógicos reutilizables. Cada módulo puede contener cualquier combinación de funciones, clases, interfaces, tipos y otras abstracciones que pueden ser exportadas para su uso en otros módulos.

En TypeScript, un archivo de código es un módulo. No se necesita ninguna declaración explícita para convertir un archivo en un módulo. En vez de eso, cualquier declaración de export o import en el archivo lo convierte automáticamente en un módulo.

Aquí hay un ejemplo de un módulo simple en TypeScript:

// modulo.ts

export function suma(a: number, b: number): number {
    return a + b;
}

export function resta(a: number, b: number): number {
    return a - b;
}

En el ejemplo anterior, el archivo modulo.ts define dos funciones, suma y resta, y luego las exporta para que otros módulos las usen.

Importación y Exportación

La importación y exportación de abstracciones entre módulos es fundamental para aprovechar la modularidad del código. TypeScript utiliza la sintaxis de import y export de ES6 para permitir la importación y exportación de abstracciones.

Exportación

Existen dos tipos de exportaciones en TypeScript: exportaciones nombradas y exportaciones predeterminadas.

Exportaciones nombradas

Las exportaciones nombradas son útiles cuando un módulo puede exportar varias abstracciones. Cada exportación se identifica con un nombre.

// modulo.ts

export function suma(a: number, b: number): number {
    return a + b;
}

export function resta(a: number, b: number): number {
    return a - b;
}

En el ejemplo anterior, suma y resta son exportaciones nombradas. También podrían omitirse los 'export' de las declaraciones y exportarse a continuación:

// modulo.ts

function suma(a: number, b: number): number {
    return a + b;
}

function resta(a: number, b: number): number {
    return a - b;
}

export { suma, resta };

Exportaciones predeterminadas

Cada módulo puede tener una única exportación predeterminada. Es útil cuando un módulo se asocia principalmente con una abstracción en particular.

// modulo.ts

export default function(a: number, b: number): number {
    return a + b;
}

En este caso, la función que suma dos números es la exportación predeterminada del módulo.

Importación

El proceso de importación se hace utilizando la palabra clave import. Para importar abstracciones nombradas, se usan sus nombres exactos. Para importar una exportación predeterminada, puede usarse cualquier nombre.

Importación de exportaciones nombradas

// app.ts

import { suma, resta } from './modulo';

console.log(suma(2, 1));  // Output: 3
console.log(resta(2, 1)); // Output: 1

Importación de exportación predeterminada

// app.ts

import suma from './modulo';

console.log(suma(1, 2));  // Output: 3

En el ejemplo anterior, el nombre suma se usa para importar la exportación predeterminada del módulo modulo.ts. Podría haberse usado cualquier nombre, al ser una exportación predeterminada declarada mediante default. Nótese que para importar una exportación predeterminada, no se deben usar llaves {}.

Conclusión

Los módulos en TypeScript ofrecen una forma eficaz de organizar y encapsular el código. Facilitan la creación de componentes de código reutilizables, mejorando la legibilidad, el mantenimiento y la reutilización del código. Con el uso de import y export, los módulos pueden compartir sus abstracciones de forma controlada, permitiendo una colaboración segura entre diferentes partes del código.

Aprende TypeScript online

Otras lecciones de TypeScript

Accede a todas las lecciones de TypeScript y aprende con ejemplos prácticos de código y ejercicios de programación con IDE web sin instalar nada.

Introducción A Typescript

TypeScript

Introducción Y Entorno

Instalación Y Configuración De Typescript

TypeScript

Introducción Y Entorno

Tipos De Datos, Variables Y Constantes

TypeScript

Sintaxis

Operadores Y Expresiones

TypeScript

Sintaxis

Control De Flujo

TypeScript

Sintaxis

Funciones Y Parámetros Tipados

TypeScript

Sintaxis

Funciones Flecha Y Contexto

TypeScript

Sintaxis

Enums

TypeScript

Sintaxis

Type Aliases Y Aserciones De Tipo

TypeScript

Sintaxis

Clases Y Objetos

TypeScript

Programación Orientada A Objetos

Interfaces Y Su Implementación

TypeScript

Programación Orientada A Objetos

Modificadores De Acceso Y Encapsulación

TypeScript

Programación Orientada A Objetos

Herencia Y Clases Abstractas

TypeScript

Programación Orientada A Objetos

Polimorfismo

TypeScript

Programación Orientada A Objetos

Decoradores Básicos

TypeScript

Programación Orientada A Objetos

Propiedades Y Métodos

TypeScript

Programación Orientada A Objetos

Inmutabilidad

TypeScript

Programación Funcional

Funciones Puras Y Efectos Secundarios

TypeScript

Programación Funcional

Funciones De Primera Clase

TypeScript

Programación Funcional

Funciones De Alto Orden

TypeScript

Programación Funcional

Conceptos Básicos E Inmutabilidad

TypeScript

Programación Funcional

Funciones De Primera Clase Y Orden Superior

TypeScript

Programación Funcional

Composición De Funciones

TypeScript

Programación Funcional

Métodos Funcionales De Arrays (Map, Filter, Reduce)

TypeScript

Programación Funcional

Tipos Literales Y Tipos Condicionales

TypeScript

Tipos Intermedios Y Avanzados

Tipos Genéricos Básicos

TypeScript

Tipos Intermedios Y Avanzados

Tipos De Unión E Intersección

TypeScript

Tipos Intermedios Y Avanzados

Tipos De Utilidad (Partial, Required, Pick, Etc)

TypeScript

Tipos Intermedios Y Avanzados

Unknown, Never Y Tipos Especiales

TypeScript

Tipos Intermedios Y Avanzados

Tipos Mapped

TypeScript

Tipos Intermedios Y Avanzados

Genéricos Con Clases E Interfaces

TypeScript

Tipos Intermedios Y Avanzados

Módulos

TypeScript

Namespaces Y Módulos

Namespaces

TypeScript

Namespaces Y Módulos

Resolución De Módulos

TypeScript

Namespaces Y Módulos

Exportación E Importación De Módulos

TypeScript

Namespaces Y Módulos

Introducción A Módulos

TypeScript

Namespaces Y Módulos

Testing Unitario En Typescript

TypeScript

Testing

Accede GRATIS a TypeScript y certifícate

Ejercicios de programación de TypeScript

Evalúa tus conocimientos de esta lección Módulos con nuestros retos de programación de tipo Test, Puzzle, Código y Proyecto con VSCode, guiados por IA.

Funciones

TypeScript
Test

Reto composición de funciones

TypeScript
Código

Reto tipos especiales

TypeScript
Código

Reto tipos genéricos

TypeScript
Código

Módulos

TypeScript
Test

Polimorfismo

TypeScript
Código

Funciones TypeScript

TypeScript
Código

Interfaces

TypeScript
Puzzle

Funciones puras

TypeScript
Puzzle

Reto namespaces

TypeScript
Código

Funciones flecha

TypeScript
Puzzle

Polimorfismo

TypeScript
Test

Operadores

TypeScript
Test

Conversor de unidades

TypeScript
Proyecto

Funciones flecha

TypeScript
Test

Control de flujo

TypeScript
Código

Herencia

TypeScript
Puzzle

Clases

TypeScript
Puzzle

Proyecto validación de tipado

TypeScript
Proyecto

Clases y objetos

TypeScript
Código

Encapsulación

TypeScript
Test

Herencia

TypeScript
Test

Proyecto sistema de votación

TypeScript
Proyecto

Reto genéricos con clases

TypeScript
Código

Inmutabilidad

TypeScript
Puzzle

Interfaces

TypeScript
Test

Funciones de alto orden

TypeScript
Test

Reto map y filter

TypeScript
Código

Control de flujo

TypeScript
Test

Interfaces

TypeScript
Código

Reto funciones orden superior

TypeScript
Código

Herencia y clases abstractas

TypeScript
Código

Reto tipos mapped

TypeScript
Código

Herencia de clases

TypeScript
Código

Reto funciones puras

TypeScript
Código

Variables y constantes

TypeScript
Puzzle

Introducción a TypeScript

TypeScript
Test

Reto testing unitario

TypeScript
Código

Funciones de primera clase

TypeScript
Puzzle

Clases

TypeScript
Test

OOP y CRUD en TypeScript

TypeScript
Proyecto

Interfaces y su implementación

TypeScript
Código

Tipos genéricos

TypeScript
Test

Namespaces

TypeScript
Test

Operadores y expresiones

TypeScript
Código

Proyecto generador de contraseñas

TypeScript
Proyecto

Reto unión e intersección

TypeScript
Código

Encapsulación

TypeScript
Puzzle

Tipos de unión e intersección

TypeScript
Test

Tipos de unión e intersección

TypeScript
Puzzle

Reto hola mundo en TS

TypeScript
Código

Variables y constantes

TypeScript
Código

Funciones puras

TypeScript
Test

Control de flujo

TypeScript
Código

Introducción a TypeScript

TypeScript
Código

Resolución de módulos

TypeScript
Test

Control de flujo

TypeScript
Puzzle

Reto tipos de utilidad

TypeScript
Código

Reto tipos literales y condicionales

TypeScript
Código

Reto exportar e importar

TypeScript
Código

Propiedades y métodos

TypeScript
Código

Tipos de utilidad

TypeScript
Test

Clases y objetos

TypeScript
Código

Tipos de datos, variables y constantes

TypeScript
Código

Proyecto Minigestor de tareas

TypeScript
Proyecto

Operadores

TypeScript
Puzzle

Funciones flecha y contexto

TypeScript
Código

Proyecto Inventario de productos

TypeScript
Proyecto

Funciones

TypeScript
Puzzle

Reto type aliases

TypeScript
Código

Funciones de alto orden

TypeScript
Puzzle

Funciones y parámetros tipados

TypeScript
Código

Tipos literales

TypeScript
Puzzle

Reto enums

TypeScript
Código

Tipos de utilidad

TypeScript
Puzzle

Modificadores de acceso y encapsulación

TypeScript
Código

Polimorfismo

TypeScript
Puzzle

Tipos genéricos

TypeScript
Puzzle

Reto módulos

TypeScript
Código

Tipos literales

TypeScript
Test

Inmutabilidad

TypeScript
Test

Proyecto Generator de datos

TypeScript
Proyecto

Variables y constantes

TypeScript
Test

Funciones de primera clase

TypeScript
Test

En esta lección

Objetivos de aprendizaje de esta lección

  1. Comprender el concepto de módulos en TypeScript como bloques lógicos reutilizables.
  2. Aprender cómo crear un módulo en TypeScript a través de la sintaxis de export.
  3. Conocer los dos tipos de exportaciones en TypeScript: exportaciones nombradas y exportaciones predeterminadas.
  4. Aprender a importar exportaciones nombradas y predeterminadas utilizando la sintaxis de import.
  5. Entender la importancia de los módulos para la organización y encapsulación del código, mejorando la legibilidad y el mantenimiento.
  6. Reconocer cómo los módulos facilitan la colaboración y la reutilización del código en diferentes partes de una aplicación.