typescript不同类之间怎么相互引用
时间: 2023-08-03 19:59:57 浏览: 260
在 TypeScript 中,不同类之间可以通过模块系统来相互引用。以下是几种常见的方法:
1. 使用 import 和 export 关键字:
- 在一个类中,使用 `export` 关键字将该类导出,以便其他类可以引用它。
- 在另一个类中,使用 `import` 关键字引入需要使用的类。
示例:
```typescript
// 类A.ts
export class A {
// ...
}
// 类B.ts
import { A } from './A';
export class B {
private a: A;
constructor() {
this.a = new A();
}
}
```
2. 使用命名空间(namespace):
- 使用 `namespace` 关键字创建一个命名空间,并将需要引用的类放在其中。
- 在另一个类中,使用 `/// <reference path="路径/文件名.ts" />` 引入需要使用的类。
示例:
```typescript
// 类A.ts
namespace MyNamespace {
export class A {
// ...
}
}
// 类B.ts
/// <reference path="A.ts" />
namespace MyNamespace {
export class B {
private a: A;
constructor() {
this.a = new A();
}
}
}
```
3. 使用模块化系统(如 CommonJS 或 ES 模块):
- 在一个类中,使用 `export` 关键字将该类导出。
- 在另一个类中,使用 `import` 关键字引入需要使用的类。
示例(使用 CommonJS 模块化):
```typescript
// 类A.ts
class A {
// ...
}
module.exports = A;
// 类B.ts
const A = require('./A');
class B {
private a: A;
constructor() {
this.a = new A();
}
}
module.exports = B;
```
这些是 TypeScript 中常见的不同类之间相互引用的方法,你可以根据自己的项目需求选择适合的方式。
阅读全文