Espacio de Nombres
Descripción: Un espacio de nombres es un contenedor que permite agrupar variables, funciones, clases e interfaces bajo un nombre común para evitar colisiones de nombres en el ámbito global.
Sintaxis Básica
namespace MyNamespace {
export class MyClass {
// Código de la clase
}
export function myFunction() {
// Código de la función
}
}
Para acceder a los elementos definidos dentro de un espacio de nombres, se usa la notación de punto (.
).
const instance = new MyNamespace.MyClass();
MyNamespace.myFunction();
Ejemplo Completo
namespace MathUtils {
export function add(x: number, y: number): number {
return x + y;
}
export function subtract(x: number, y: number): number {
return x - y;
}
export class Calculator {
multiply(x: number, y: number): number {
return x * y;
}
divide(x: number, y: number): number {
if (y === 0) {
throw new Error("Division by zero");
}
return x / y;
}
}
}
// Usando el espacio de nombres MathUtils
const result1 = MathUtils.add(10, 5);
const result2 = MathUtils.subtract(10, 5);
const calculator = new MathUtils.Calculator();
const result3 = calculator.multiply(10, 5);
const result4 = calculator.divide(10, 5);
console.log(result1); // 15
console.log(result2); // 5
console.log(result3); // 50
console.log(result4); // 2
Explicación del Código
Definición del Espacio de Nombres:
namespace MathUtils {
export function add(x: number, y: number): number {
return x + y;
}
export function subtract(x: number, y: number): number {
return x - y;
}
export class Calculator {
multiply(x: number, y: number): number {
return x * y;
}
divide(x: number, y: number): number {
if (y === 0) {
throw new Error("Division by zero");
}
return x / y;
}
}
}
Aquí se define un espacio de nombres llamado MathUtils
que contiene dos funciones (add
y subtract
) y una clase (Calculator
) con métodos (multiply
y divide
). Todos estos elementos están exportados para que puedan ser utilizados fuera del espacio de nombres.
Uso del Espacio de Nombres:
const result1 = MathUtils.add(10, 5);
const result2 = MathUtils.subtract(10, 5);
const calculator = new MathUtils.Calculator();
const result3 = calculator.multiply(10, 5);
const result4 = calculator.divide(10, 5);
Aquí se muestra cómo se accede a las funciones y la clase dentro del espacio de nombres MathUtils
usando la notación de punto. Se crean variables para almacenar los resultados de las operaciones.
Impresión de Resultados:
console.log(result1); // 15
console.log(result2); // 5
console.log(result3); // 50
console.log(result4); // 2
Finalmente, se imprimen los resultados de las operaciones en la consola.