默认情况下, 我们编写的代码处于全局命名空间中
一.模块
文件模块:如果在你的 TypeScript 文件的根级别位置含有 import 或者 export,那么它会在这个文件中创建一个本地的作用域 。
// a.ts导出
export default "james";
// index.ts导入
import name from "./a";
二.命名空间
命名空间可以用于组织代码,避免文件内命名冲突
-
命名空间的使用
export namespace zoo { export class Dog { eat() { console.log("zoo dog"); } } } export namespace home { export class Dog { eat() { console.log("home dog"); } } } let dog_of_zoo = new zoo.Dog(); dog_of_zoo.eat(); let dog_of_home = new home.Dog(); dog_of_home.eat(); // zoo dog // home dog -
命名空间嵌套使用
export namespace zoo { export class Dog { eat() { console.log("zoo dog"); } } export namespace bear { export const name = "熊"; } } console.log(zoo.bear.name);命名空间中导出的变量可以通过命名空间使用。