我加入了一家新公司,在这里他们创建了几乎所有内容的类,甚至是不相关的实用程序功能。
考虑一下:
export default class Utils {
static method1()
static method2()
static method3()
}
vs
export const method1 = () => {}
export const method2 = () => {}
export const method3 = () => {}
通过将独立的方法封装在一个类中,是否有任何特定的优势?对于可伸缩代码库,推荐的方法是哪种?
答案 0 :(得分:6)
这是关于Typescript的常见误解。 Typescript并不意味着您必须使用类。 Typescript是具有类型的Javascript。像使用Javascript一样编写代码,在必要时添加类型,应该没事。
如果您想利用类(ES2015功能不一定是Typescript功能),Typescript将帮助您为类提供强类型。但是您不需要类来编写好的Typescript。
这种误解可能出现的原因是,早期的演示总是显示类,因为大多数浏览器中还没有这些类,因此需要向下编译,每个人都想要它们。这使人们产生了错误的印象,即Typescript最适合用于类。但这绝对不是。
在您的特定情况下,我实际上会认为这是对类的错误使用。静态类是一种针对语言的发明,这些语言不允许函数存在于类中的任何其他位置。在Javascript中,模块可以封装此类静态方法以及任何类,并且是一种更加面向Javascript的处理方式。