TypeScript 中的命名空间关键字

本文关键字:关键字 命名空间 TypeScript | 更新日期: 2023-09-27 17:56:00

试图

找出namespace关键字在 TypeScript 中是什么意思?

以下是他们最近为使用namespace而不是module而进行的一些改组:

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

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

还是两者之间有晦涩的小区别?单词 namespace sorta 表示使用相同名称的多个声明之间的共享范围/空格。这是正确的直觉吗?

TypeScript 中的命名空间关键字

你可以在

namespace关键字问题中读到它,但基本思想是区分内部(namespace)和外部(module)模块。

为了更好地与 #6 中建议的 ES2159 模块保持一致,此 PR 引入了新的命名空间关键字作为声明的首选方法 以前称为"内部模块"。我们的术语更改 如下:

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

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