【发布时间】:2019-09-11 07:05:05
【问题描述】:
如果我要在 Typescript 中创建以下命名空间和类,两者之间会有什么区别?两者的内存管理有区别吗?
export namespace TestNamespace {
export const Test = 'TEST';
export const TestFunction = (value:string):boolean => {
return !value || value.length === 0;
}
}
export class TestClass {
static Test = 'TEST';
static TestFunction(value:string): boolean {
return !value || value.length === 0;
}
}
它们都可以用相同的方式调用:
console.log(TestClass.Test);
console.log(TestClass.TestFunction('Test'));
console.log(TestNamespace.Test);
console.log(TestNamespace.TestFunction('Test'));
唯一的区别仅仅是书写方式的偏好吗?
【问题讨论】:
-
这一切都取决于目的。类和命名空间之间存在一些差异,您可以在 Web 上轻松找到它们。在您的示例中没有区别。因此,这不是对代码编写方式的偏好,而是取决于您在特定场景中需要使用什么。
标签: javascript typescript memory