Chuck's Academy

TypeScript Básico

Módulos y Namespaces en TypeScript

A medida que las aplicaciones crecen en complejidad, es importante organizar el código en partes más manejables. TypeScript proporciona dos formas principales para lograr esto: módulos y namespaces. En este capítulo, veremos cómo usarlos para mejorar la organización de nuestros proyectos.

Módulos en TypeScript

Un módulo en TypeScript es cualquier archivo que contiene código. Cada archivo en TypeScript puede actuar como un módulo independiente. Puedes exportar cualquier parte del código desde un archivo y luego importarlo en otros archivos según sea necesario.

Exportación de Módulos

Para que una función, clase o variable esté disponible fuera del archivo en el que se define, debes exportarla. Existen dos formas principales de exportar en TypeScript: exportación nombrada y exportación por defecto.

esta imagen muestra un cheatsheat de modulos en typescriptesta imagen muestra un cheatsheat de modulos en typescript

Exportación Nombrada

Con la exportación nombrada, puedes exportar múltiples elementos desde un archivo y especificar qué quieres importar en el otro archivo.

typescript
"Este archivo math.ts exporta dos funciones: add y subtract. Estas funciones ahora pueden ser importadas en otros archivos."

Importación Nombrada

Una vez exportados los elementos, puedes importarlos en otros archivos utilizando la sintaxis import.

typescript
"Aquí importamos las funciones add y subtract desde el archivo math.ts, y luego las utilizamos en el archivo app.ts."

Exportación por Defecto

La exportación por defecto permite exportar un único elemento desde un archivo. Este elemento puede ser importado sin necesidad de utilizar su nombre exacto.

typescript
"En este ejemplo, se exporta la función multiply por defecto. Al hacer esto, no es necesario usar el nombre exacto de la función al importarla."

Importación por Defecto

Al importar un elemento por defecto, puedes usar cualquier nombre para referenciarlo en tu archivo.

typescript
"Aquí importamos la función multiply desde math.ts, pero no necesitamos usar su nombre exacto. Podemos utilizar cualquier nombre para la importación."

Namespaces en TypeScript

Los namespaces son otra forma de organizar el código, especialmente cuando trabajas en proyectos grandes. A diferencia de los módulos, los namespaces agrupan código dentro de un único archivo o varios archivos combinados. Los namespaces son útiles cuando quieres mantener todo el código relacionado bajo un mismo nombre global.

Definición de un Namespace

Para definir un namespace, utiliza la palabra clave namespace seguida de un nombre. Dentro de este espacio de nombres, puedes declarar clases, funciones, variables, etc.

typescript
"En este ejemplo, definimos un namespace llamado Geometry que contiene una función calculateArea. Esta función se puede acceder utilizando el nombre del namespace seguido de la función."

Namespaces Anidados

Puedes anidar namespaces dentro de otros namespaces para organizar mejor el código.

typescript
"Este ejemplo muestra namespaces anidados. Dentro de MathOperations, tenemos dos namespaces: Basic y Advanced, cada uno con sus propias funciones. Accedemos a ellas usando el nombre completo del namespace."

Conclusión

En este capítulo, hemos aprendido a utilizar módulos y namespaces para organizar el código en TypeScript. Los módulos son una forma moderna y flexible de dividir el código en diferentes archivos, mientras que los namespaces proporcionan una forma de agrupar código dentro de un solo archivo o varios. Ambos son herramientas poderosas que nos ayudan a mantener el código más limpio y estructurado.


Pregúntame lo que sea