2015-06-12 1 views
2

Попытка выяснить, что делает namespace ключевое слово mean в TypeScript?Ключевое слово Namespace в TypeScript

Вот некоторые перестановки они сделали в последнее время использовать namespace вместо module:

https://github.com/Microsoft/TypeScript/commit/224e7630ea17c4547e97f85634f446b877955a67

В отсутствие пространства имен спецификации, это выглядит довольно бессмысленным переименованы, чтобы сделать язык смотреть C# -как ,

Или есть неясная небольшая разница между ними? Слово namespace sorta подразумевает общую область/пространство между несколькими объявлениями с использованием одного и того же имени. Это правильная интуиция?

ответ

3

Вы можете прочитать об этом в выпуске namespace keyword, но основная идея состоит в том, чтобы различать внутренние (namespace) и внешние (module) модули.

Для лучшего согласования с ES6 модулями, как предложено в #2159, это PR вводит новое пространство имен ключевое слово в качестве предпочтительного способа объявить что ранее известный как «внутренние модули». Наша терминология изменяется следующим образом:

  • Внутренний модуль становится пространство имен.
  • Внешний модуль становится Модуль.

Для обратной совместимости пространства имен все еще могут быть объявлены по-старому (с использованием ключевого слова модуля), и ни один существующий код не будет нарушен этим изменением. Мы можем рассмотреть возможность введения опции компилятора, которая запрещает использование ключевого слова module для объявления пространств имен.

Source

+0

Видимо так! Приятно, чтобы вы собрали все ключи. –

Смежные вопросы