TypeScript
模块化
TS中的模块分为外部模块和内部模块
内部模块称为命名空间
内部模块,主要用于组织代码,避免命名冲突
外部模块简称为模块
侧重代码的复用 一个模块里可能有多个命名空间
模块在自身的作用域里执行,而不是在全局作用域里 这意味着定义在一个模块里的变量,函数,类等等在模块外部是不可见的,可以通过export暴露 再通过import引入
导入导出
与ES Module相同
export default 默认导出
每个模块都可以有一个且只能有一个defalut导出
import 导入
可以通过as关键字将引入的模块命名
import { getData as get } from './路径'
get()
命名空间
namespace A {
interface Animal {
name: string;
eat(): void;
}
export class Dog implements Animal {
name: string;
constructor(theName: string) {
this.name = theName;
}
eat(): void {
console.log(`${this.name}`);
}
}
export class Cat implements Animal {
name: string;
constructor(theName: string) {
this.name = theName;
}
eat(): void {
console.log(`${this.name}`);
}
}
}
var d = new A.Dog('狼狗');