介绍
TypeScript 1.5里术语名已经发生了变化:
-
“内部模块”现在称做“命名空间”。也就是说像
module X { }这样的写法,在当前推荐的写法中应该是namespace X { }。 -
“外部模块”现在简称为“模块”,通常通过
import和export关键字来实现模块间的功能共享和代码组织。
这是为了让 TypeScript 与 ECMAScript 2015(ES6)的术语保持一致,从而减少混淆并提高与主流 JavaScript 标准的兼容性。
命名空间
命名空间(Namespace)用于组织和封装相关的代码,以避免全局命名冲突,并提供更好的代码结构和模块化。
- 基本语法
- 使用
namespace关键字来创建命名空间
- 使用
- 成员
- 命名空间可以包含以下类型的成员:变量、函数、类、接口
示例:
namespace MathUtils {
// 要使命名空间中的成员在外部可访问,需要使用 export 关键字
export function add(a: number, b: number): number {
return a + b;
}
export function subtract(a: number, b: number): number {
return a - b;
}
}
// 使用命名空间中的函数
let result1 = MathUtils.add(5, 3);
let result2 = MathUtils.subtract(8, 2);
console.log(result1, result2); // 8 6
在上述代码中,MathUtils 是一个命名空间,其中包含了 add 和 subtract 两个函数。通过 namespace 关键字创建了这个命名空间,并使用 export 关键字使其中的函数可以在命名空间外部被访问。
可以在不同的位置多次定义同一个命名空间,TypeScript 会将它们的成员进行合并:
namespace MyNamespace {
export function function1() {
// 实现
}
}
namespace

最低0.47元/天 解锁文章
473

被折叠的 条评论
为什么被折叠?



