TypeScript/JavaScript中的模块和命名空间之间的区别是什么

What is the difference between Modules and Namespaces in TypeScript/JavaScript?

本文关键字:命名空间 之间 区别 是什么 模块 JavaScript TypeScript      更新时间:2023-09-26

我试图在TypeScriptJavaScript中编译以下代码:

namespace MyNamespace {
    class MyClass {
        public test() {
            return 1;
        }
    }
}

如果我用module替换关键字namespace,它仍然会生成完全相同的JavaScript代码。那么modulenamespace之间的区别是什么?我什么时候应该选择一个而不是另一个?

那么,模块和命名空间之间的区别是什么?我什么时候应该选择一个而不是另一个

它们都是完全相同的。module导致与Native JavaScript(例如ES6 module)混淆,因此他们决定将其重命名为namespace

在新代码中,更喜欢使用namespace