VVLL.net

Modules(模块)

日期:2024-08-22 09:58:31

关于术语的一点说明: 请务必注意一点,TypeScript 1.5里术语名已经发生了变化。 “内部模块”现在称做“命名空间”。 “外部模块”现在则简称为“模块”,这是为了与 ECMAScript 2015里的术语保持一致,(也就是说 module X { 相当于现在推荐的写法 namespace X {)。

  • 从ECMAScript 2015开始,JavaScript引入了模块的概念。TypeScript也沿用这个概念。

TypeScript与ECMAScript 2015一样,任何包含顶级import或者export的文件都被当成一个模块。相反地,如果一个文件不带有顶级的import或者export声明,那么它的内容被视为全局可见的(因此对模块也是可见的)。

TypeScript 模块是组织代码和实现代码重用的重要工具。模块帮助将代码分隔成逻辑单元,并允许这些单元之间进行清晰的依赖管理和代码共享。下面详细介绍 TypeScript 模块的概念、使用方法以及各种高级特性。

1. 模块基础

模块的定义:在 TypeScript 中,一个文件就是一个模块。模块中的代码默认是私有的,只有通过导出(export)的内容才能在其他模块中使用。

基本用法

导出和导入

导出 (Export):可以通过 export 关键字将变量、函数、类、接口等导出。

// math.ts
export const pi = 3.14;

export function add(a: number, b: number): number {
  return a + b;
}

export class