Пространства имен¶
Пространства имен предоставляют вам удобный синтаксис для общепринятого шаблона, используемого в JavaScript:
1 2 3 |
|
В основном something || (something = {})
позволяет анонимной функции function(something) {}
добавлять что-либо к существующему объекту (часть something ||
) или стартовать новый объект, а затем добавлять что-либо к этому объекту (часть || (something = {})
). Это означает, что у вас может быть два таких блока, разделенных по некоторой границе выполнения:
1 2 3 4 5 6 7 8 9 10 11 |
|
Это обычно используется в JavaScript, чтобы убедиться, что содержимое не просачивается в глобальное пространство имен. С файловыми модулями вам не нужно беспокоиться об этом, но шаблон все еще полезен для логической группировки набора функций. Поэтому TypeScript предоставляет ключевое слово namespace
, чтобы сгруппировать их, например:
1 2 3 4 5 6 7 8 9 10 11 12 |
|
Ключевое слово namespace
генерирует тот же JavaScript, который мы видели ранее:
1 2 3 |
|
Следует отметить, что пространства имен могут быть вложенными, поэтому вы можете использовать такие вещи, как namespace Utility.Messaging
, для вложения пространства имен Messaging
в Utility
.
Для большинства проектов мы рекомендуем использовать внешние модули, а namespace
использовать для быстрой демонстрации и переноса старого кода JavaScript.