我们真的必须对TypeScript中的所有内容进行OOP格式化吗?

时间:2019-06-10 10:57:22

标签: javascript typescript

我加入了一家新公司,在这里他们创建了几乎所有内容的类,甚至是不相关的实用程序功能。

考虑一下:

export default class Utils {
static method1()
static method2()
static method3()
}

vs

export const method1 = () => {}
export const method2 = () => {}
export const method3 = () => {}

通过将独立的方法封装在一个类中,是否有任何特定的优势?对于可伸缩代码库,推荐的方法是哪种?

1 个答案:

答案 0 :(得分:6)

这是关于Typescript的常见误解。 Typescript并不意味着您必须使用类。 Typescript是具有类型的Javascript。像使用Javascript一样编写代码,在必要时添加类型,应该没事。

如果您想利用类(ES2015功能不一定是Typescript功能),Typescript将帮助您为类提供强类型。但是您不需要类来编写好的Typescript。

这种误解可能出现的原因是,早期的演示总是显示类,因为大多数浏览器中还没有这些类,因此需要向下编译,每个人都想要它们。这使人们产生了错误的印象,即Typescript最适合用于类。但这绝对不是。

在您的特定情况下,我实际上会认为这是对类的错误使用。静态类是一种针对语言的发明,这些语言不允许函数存在于类中的任何其他位置。在Javascript中,模块可以封装此类静态方法以及任何类,并且是一种更加面向Javascript的处理方式。