ts中的命名空间
在项目开发中遇到了 namespace ,对于我对 ts 还不是很熟悉的人来说就突然忘了是干嘛的,于是就有了这篇文章。
在同一个模块中,多人开发可能会出现命名重复,为了避免这种情况出现,我们使用命名空间(namespace)
比如有两个开发人家A和B,同时在同一个文件中开发,并且同一文件中有两个test这个函数,这个时候为了不改函数名且互不影响对方的方法,采用命名空间来解决。
namespace A {
function test(str: string): void {
console.log("test", str)
}
}
namespace B {
function test(num: number): void {
console.log("num", num)
}
}
每个 namespace 都有一个私有空间, 所以代码无法直接使用
需要添加 export
如果在外边调用,在 namespace 关键字前面添加 export
在其他文件使用
import { A } from "./test.ts"
A.test("test"); // 调用命名空间的方法