Contexto que permite diferenciar múltiples identificadores sin causar conflictos de nombres.
Agrupa variables, funciones y clases bajo un mismo nombre para evitar colisiones.
// Namespaces en TypeScript namespace Utilidades { export function formatear(texto: string): string { return texto.trim().toLowerCase(); } export namespace Fechas { export function hoy(): Date { return new Date(); } } } // Uso Utilidades.formatear(" HOLA "); Utilidades.Fechas.hoy(); // En JavaScript moderno, los módulos reemplazan namespaces // Cada archivo es su propio "namespace" // utils/strings.ts export function formatear(texto: string) { /*...*/ } // utils/dates.ts export function formatear(fecha: Date) { /*...*/ } // main.ts - Sin conflictos import { formatear as formatearTexto } from './utils/strings'; import { formatear as formatearFecha } from './utils/dates'; // CSS Modules - namespacing automático // Button.module.css // .button { color: blue; } // Se convierte en: .Button_button_a1b2c