I'm in the process of migrating a large codebase to Typescript, but wanted to get a good handle on when & where I should be using certain things.
Right now I have some large namespaces in modules:
(function (nameSpace) {
var privateVariables = '';
function privateFunctions () { }
// Public methods
nameSpace.someMethodHere = function () { };
}(window.nameSpace = window.nameSpace || {}));
My question is in TypeScript, is there any difference / benefit in me just turning these into just Classes? Or should it just be one large Module with classes (each method) inside of it?
module nameSpace {
export class someMethodHere {
// etc
}
// more classes (my methods) here ??
}
-OR-
class nameSpace {
someMethodHere () {
// code
}
// more prototyped methods here
}
Or should I be setting them up in the same Module way I currently have? I was trying and it just kept giving me errors, not sure how I do nameSpace.someMethodHere
inside of a module without a class!
Basically modules are good for packing all your code into one convenient global object while class are smart to structure your code and data representation.
[EDIT] The "internal modules" have been renamed "namespaces" moreover it is now discouraged to use namespaces when you can import modules. A namespace can be partial (i.e. described in many files) and while this is sometimes useful, this approach is too global to be optimised properly by the compiler. Read more here
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With