Volver a Modulos y Namespaces
Módulos y Namespaces — Leccion 2
·15 minNamespaces
Agrupa codigo en un espacio de nombres.
Namespaces
Los namespaces agrupan codigo relacionado bajo un solo nombre.
typescript
namespace Geometria {
export function areaCirculo(radio: number): number {
return Math.PI * radio * radio;
}
export function areaRectangulo(base: number, alto: number): number {
return base * alto;
}
export const PI = 3.14159;
}
// Uso
Geometria.areaCirculo(5);
Geometria.PI;
Namespaces anidados
typescript
namespace App {
export namespace Auth {
export function login(usuario: string) { ... }
export function logout() { ... }
}
export namespace Api {
export function get(url: string) { ... }
export function post(url: string, data: any) { ... }
}
}
App.Auth.login("admin");
App.Api.get("/usuarios");
Merge de namespaces
typescript
// archivo1.ts
namespace Config {
export const apiUrl = "https://api.example.com";
}
// archivo2.ts
namespace Config {
export const timeout = 5000;
}
// Ambos se combinan
Config.apiUrl; // "https://api.example.com"
Config.timeout; // 5000
Namespaces vs Módulos
| Característica | Módulos | Namespaces |
|---|---|---|
| Separación | Archivos separados | Un archivo |
| Scope | Global | Namespace |
| Bundling | Manual | Automático |
| Uso moderno | Si | No |
Nota: En modernos proyectos se usan módulos, no namespaces.
Ejercicio pratico
Crea un namespace 'Math' con funciones para sumar y multiplicar.
exercise.ts
Loading...
Resultado
Haz clic en "Ejecutar" para ver el resultado...