Skip to main content

Namespaces

В TypeScript namespace (пространство имён) — это способ группировки логически связанных объектов, функций и интерфейсов. Они помогают избежать конфликтов имён в больших кодовых базах, инкапсулируя объявления внутри единого блока.

Основные особенности:

  • Определяются с помощью ключевого слова namespace.
  • Внутри можно объявлять переменные, функции, интерфейсы, классы и другие элементы.
  • Для экспорта элементов используется export, иначе они остаются приватными.
  • Для доступа к элементам снаружи используется namespaceName.elementName.
namespace MyNamespace {
export class Person {
constructor(public name: string) {}
greet() {
return `Hello, ${this.name}!`;
}
}
}

// Использование
const user = new MyNamespace.Person("Alice");
console.log(user.greet()); // Hello, Alice!

Важно: В современных проектах вместо namespace чаще используют модули (ES6 modules), так как они поддерживаются нативно и лучше интегрируются с инструментами сборки.

🚀 Источник: ChatGPT