TypeScript中的命名空间关键字

时间:2015-06-12 21:10:10

标签: c# namespaces typescript keyword

试图找出TypeScript中namespace关键字的含义?

以上是他们最近使用namespace代替module进行的一些改组:

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

在没有命名空间规范的情况下,它看起来像一个相当无意义的重命名,使语言看起来像C#。

或者这两者之间是否有一个模糊的差别?单词namespace sorta意味着使用相同名称的多个声明之间的共享范围/空间。这是一个正确的直觉吗?

1 个答案:

答案 0 :(得分:3)

您可以在namespace keyword问题中阅读相关内容,但基本思路是区分内部(namespace)和外部(module)模块。

  

为了更好地与#2159中建议的ES6模块对齐,此PR   引入了一个新的namespace关键字作为声明的首选方式   以前称为"内部模块"。我们的术语发生了变化   如下:

     
      
  • 内部模块变为命名空间
  •   
  • 外部模块变为模块
  •   
     

为了向后兼容,名称空间仍然可以旧方式声明(使用module关键字),并且此更改不会破坏现有代码。我们可能会考虑引入一个编译器选项,该选项不允许使用module关键字来声明命名空间。

     

Source