Files
frontend-docs/docs/typescript/08-namespaces.md

1.6 KiB
Raw Blame History

sidebar_position
sidebar_position
8

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