1. ts 命名空间内元素的导出和导入
- 新建 student.ts,创建命名空间,导出接口、类、函数、变量
// 使用 namespace 创建命名空间
export namespace Student {
// 导出 接口
export interface IStudent {
name: string;
age: number;
}
// 导出 类
export class CStudent implements IStudent {
name: string;
age: number;
constructor(name: string, age: number) {
this.name = name;
this.age = age;
}
}
// 导出 函数
export let say = function (who: string, what: string): any {
console.log(who + "说" + what);
};
// 导出 变量
export let other = "变量:我是命名空间导出变量";
}
- 新建 index.ts ,调用从命名空间导入接口、类、函数、变量
// 导入命名空间
import { Student } from "./student";
// 调用 接口
let alias: Student.IStudent = {
name: "alias",
age: 18,
};
console.log("接口:", alias);
// 调用 类
let john = new Student.CStudent("john", 28);
console.log("类:", john.name, john.age);
// 调用 函数
Student.say("函数:andy", "hello world");
// 调用 变量
console.log(Student.other);
2. ts 嵌套命名空间
- 新建 student.ts ,创建嵌套命名空间
export namespace Student {
export namespace Variable {
export let other = "变量:我是命名空间导出变量";
}
}
- 新建 index.ts ,调用嵌套命名空间定义的元素
import { Student } from "./student";
let other = Student.Variable.other;
console.log(other);
网友评论