gpt4 book ai didi

typescript - 何时在 TypeScript 中使用类与模块?

转载 作者:搜寻专家 更新时间:2023-10-30 20:32:24 25 4
gpt4 key购买 nike

我正在将一个大型代码库迁移到 Typescript,但我想很好地掌握我应该在何时何地使用某些东西。

现在我在模块中有一些大的命名空间:

(function (nameSpace) {

var privateVariables = '';

function privateFunctions () { }

// Public methods
nameSpace.someMethodHere = function () { };

}(window.nameSpace = window.nameSpace || {}));

我的问题是在 TypeScript 中,将这些变成类对我来说有什么区别/好处吗?或者它应该只是一个大模块,里面有类(每个方法)?

module nameSpace {

export class someMethodHere {
// etc
}

// more classes (my methods) here ??
}

-或-

class nameSpace {

someMethodHere () {
// code
}
// more prototyped methods here
}

或者我应该以我目前使用的相同模块方式设置它们吗?我一直在尝试,但它一直给我错误,我不确定如何在没有类的模块内执行 nameSpace.someMethodHere!

最佳答案

  • 考虑使用模块作为 Singleton 的不错选择(一个随处可访问的静态对象),其中常见用法是用于库。
  • 当您需要创建此类的多个实例或者您打算扩展此类时,请考虑使用一个类。

基本上,模块可以很好地将所有代码打包到一个方便的全局对象中,而类则可以智能地构建代码和数据表示形式。

[编辑] The "internal modules" have been renamed "namespaces"此外,现在不鼓励在可以导入模块时使用命名空间。命名空间可以是部分的(即在许多文件中描述),虽然这有时很有用,但这种方法过于全局,无法被编译器正确优化。 Read more here

关于typescript - 何时在 TypeScript 中使用类与模块?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13255158/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com