【问题标题】:Namespace keyword in TypeScriptTypeScript 中的命名空间关键字
【发布时间】:2015-06-12 21:10:09
【问题描述】:

想知道 namespace 关键字在 TypeScript 中的含义是什么?

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

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

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

或者两者之间有什么不为人知的小区别? namespace sorta 这个词意味着使用相同名称的多个声明之间的共享范围/空间。这是正确的直觉吗?

【问题讨论】:

    标签: c# namespaces typescript keyword


    【解决方案1】:

    您可以在 namespace keyword 问题中了解它,但基本思想是区分内部 (namespace) 和外部 (module) 模块。

    为了更好地与#2159 中建议的 ES6 模块保持一致,此 PR 引入了一个新的命名空间关键字作为首选的声明方式 以前称为“内部模块”。我们的术语发生了变化 如下:

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

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

    Source

    【讨论】:

    • 显然是这样!很高兴你把所有的线索拼凑在一起。
    猜你喜欢
    • 1970-01-01
    • 2017-07-25
    • 2012-11-08
    • 1970-01-01
    • 2011-02-28
    • 2016-07-11
    • 2018-01-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多