--- sidebar_position: 9 --- # Namespaces В TypeScript **namespace** (пространство имён) — это способ группировки логически связанных объектов, функций и интерфейсов. Они помогают избежать конфликтов имён в больших кодовых базах, инкапсулируя объявления внутри единого блока. Основные особенности: - Определяются с помощью ключевого слова `namespace`. - Внутри можно объявлять переменные, функции, интерфейсы, классы и другие элементы. - Для экспорта элементов используется `export`, иначе они остаются приватными. - Для доступа к элементам снаружи используется `namespaceName.elementName`. ```ts 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_**