TypeScript:模块和具有静态成员的类之间的区别是什么?

时间:2016-11-26 11:11:34

标签: javascript oop typescript

我正在学习TypeScript。

看了一下模块(https://www.typescriptlang.org/docs/handbook/modules.html)后,我问自己:&#34; 一个类和一个模块之间的区别是什么?&#34; < / p>

两者都可用于在我的代码中构造和封装数据/行为......

搜索了一下,发现这个资源解释了(部分)与我的区别:https://msdn.microsoft.com/en-us/library/7825002w(v=vs.90).aspx

但是根据文章中的解释进一步思考:

如果我创建了一个具有静态属性和方法的类。这与模块的内容非常相似?或者我错了吗?

因此我的问题是:

模块与具有静态成员的班级之间的区别(例如&#39;数学&#39;)

1 个答案:

答案 0 :(得分:3)

模块允许您构建和分离代码。根据可能基于文件的模块类型(对于外部/ es6模块)或基于命名空间(对于内部模块),分布在多个文件中。

使用模块而不是类(如打包和加载)有多种原因。此外,您不能在另一个类中声明一个类,因此除非您能够以一个类足以封装整个功能的方式构建代码,否则它们将无法替换模块。