javascript - TypeScript:模块和具有静态成员的类有什么区别?

标签 javascript oop typescript

我正在学习 TypeScript。

看完模块 ( https://www.typescriptlang.org/docs/handbook/modules.html ) 后,我问自己:“类和模块有什么区别?

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

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

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

如果我创建一个具有静态属性和方法的类。那会与模块非常相似吗?还是我错了?

所以我的问题是:

模块和具有静态成员(例如“Math”)的类有什么区别?

最佳答案

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

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

关于javascript - TypeScript:模块和具有静态成员的类有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40817737/

相关文章:

javascript - 在什么情况下 Enumerator 对象 (IE) 和 Iterator 对象 (Fx) 真正有用?

javascript - JQuery - 如何在多个 JQuery 克隆对话框中定位正确的按钮?

javascript/jquery 在每次迭代后循环执行函数

angular - 创建直方图时获取 "Highcharts error #17"(使用 Highcharts 和 Angular 6)

node.js - 输出到另一个目录时,如何在 Typescript 编译过程中包含 .html 文件

javascript - 为什么在这种情况下要添加两个指向 JQuery 的链接

oop - 面向对象编程中 "interface"的定义是什么

c++ - 为什么将类中的数据声明为私有(private)的示例很重要?

C++ 不能使用从基类继承的getter函数

typescript - typescript 中的重复标识符提取