Пространства имен¶
Пространства имен предоставляют вам удобный синтаксис для общепринятого шаблона, используемого в 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.