Skip to content

TypeStript 入门 - 10:模块与命名空间

模块

  • 导出

    tsx
    //默认导出
    export default 'pt'
  • 导入

    tsx
    //导入
    import name from './a'
    
    console.log(name);

命名空间

命名空间:可以用于组织代码,避免文件内命名冲突

  • 基本使用

    tsx
    //!命名空间的基本使用
    export namespace zoo {
     export class Dog { eat() { console.log('zoo dog'); } }
    }
    export namespace home {
     export class Dog { eat() { console.log('home dog'); } }
    }
    
    //分别zoo和home命名空间的Dog是不会冲突的,类似C#和C++中的命名空间
    let dog_of_zoo = new zoo.Dog();
    dog_of_zoo.eat();
    
    let dog_of_home = new home.Dog();
    dog_of_home.eat();
  • 嵌套使用

    tsx
    //!命名空间的嵌套使用,可以无限制的嵌套
    export namespace zoo {
     export class Pig { eat() { console.log('zoo pig'); } }
     export namespace bear {
      export const name = '熊'
     }
    }
    console.log(zoo.bear.name);

Released under the MIT License.