试图找出TypeScript中namespace
关键字的含义?
以上是他们最近使用namespace
代替module
进行的一些改组:
https://github.com/Microsoft/TypeScript/commit/224e7630ea17c4547e97f85634f446b877955a67
在没有命名空间规范的情况下,它看起来像一个相当无意义的重命名,使语言看起来像C#。
或者这两者之间是否有一个模糊的差别?单词namespace
sorta意味着使用相同名称的多个声明之间的共享范围/空间。这是一个正确的直觉吗?
答案 0 :(得分:3)
您可以在namespace
keyword问题中阅读相关内容,但基本思路是区分内部(namespace
)和外部(module
)模块。
为了更好地与#2159中建议的ES6模块对齐,此PR 引入了一个新的namespace关键字作为声明的首选方式 以前称为"内部模块"。我们的术语发生了变化 如下:
- 内部模块变为命名空间。
- 外部模块变为模块。
为了向后兼容,名称空间仍然可以旧方式声明(使用module关键字),并且此更改不会破坏现有代码。我们可能会考虑引入一个编译器选项,该选项不允许使用
module
关键字来声明命名空间。