Skip to content
On this page

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.