📅  最后修改于: 2023-12-03 14:48:05.681000             🧑  作者: Mango
TypeScript是一种开源的编程语言,它是JavaScript的超集。它添加了一些特性,例如:类型注解、类、接口和命名空间等。
在TypeScript中,我们可以通过模块的方式来组织代码。模块可以把代码分离成不同的功能模块,有助于提高代码的可复用性和维护性。
在TypeScript中,一个模块就是一个独立的文件。一个模块可以包含多个类、函数、接口等代码段。一个模块可以被其他模块引用。
一个简单的模块示例:
// utils.ts
export function add(a: number, b: number) {
return a + b;
}
export function subtract(a: number, b: number) {
return a - b;
}
在上述代码中,我们定义了一个工具模块,包含了两个函数:add
和subtract
。通过export
关键字,我们把这两个函数暴露出去,以便其他模块可以引用它们。
我们可以在其他模块中通过import
关键字来引用该模块:
// app.ts
import { add, subtract } from './utils';
console.log(add(1, 2)); // 输出:3
console.log(subtract(2, 1)); // 输出:1
在上述代码中,我们通过import
关键字引入了utils
模块中的add
和subtract
函数,并分别调用了它们。
我们不仅可以导出函数,还可以导出类、接口等类型。如下示例:
// models.ts
export interface User {
name: string;
age: number;
}
export class Product {
constructor(public name: string, public price: number) { }
}
在上述代码中,我们定义了一个包含User
接口和Product
类的模块。通过export
关键字,我们把这两个类型暴露出去,以便其他模块可以引用它们。
我们可以在其他模块中通过import
关键字来引用该模块:
// app.ts
import { User, Product } from './models';
const user: User = {
name: '张三',
age: 20
};
const product: Product = new Product('面包', 10);
console.log(user); // 输出:{ name: '张三', age: 20 }
console.log(product); // 输出:Product { name: '面包', price: 10 }
在上述代码中,我们通过import
关键字引入了models
模块中的User
接口和Product
类,并根据它们的定义创建了一个用户对象和一个产品对象。
一个模块可以有多个导出,但只能有一个默认导出。默认导出可以是任意类型,如函数、类、对象、字符串等。
一个简单的默认导出示例:
// message.ts
export default 'Hello World';
在上述代码中,我们定义了一个默认导出Hello World
字符串。
我们可以在其他模块中通过import
关键字来引用该模块:
// app.ts
import message from './message';
console.log(message); // 输出:Hello World
在上述代码中,我们通过import
关键字引入了message
模块的默认导出,并输出了该字符串。
通过模块的方式,我们可以把代码分离成不同的功能模块,提高代码的可复用性和维护性。在TypeScript中,一个模块就是一个独立的文件。一个模块可以包含多个类、函数、接口等代码段。一个模块可以被其他模块引用。我们可以通过export
关键字来导出函数、类、接口等类型,并通过import
关键字在其他模块中引用它们。一个模块可以有多个导出,但只能有一个默认导出。默认导出可以是任意类型,如函数、类、对象、字符串等。