在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
接上篇。 在项目根目录中新建一个./module的文件夹,在里面创建如下ts文件。 文件:Validation.ts 文件名:ZipCodeValidator.ts 文件名:TelValidator.ts 文件:ParseIntBasedZipCodeValidator.ts 命名空间文件名:University.ts 1 /** 2 * 命名空间,关键字“namespace” 3 * 很多编程语言中都有这个概念,大家都是类似的作用 4 */ 5 6 export namespace Earth { 7 8 export class Person { 9 planet: string = "地球"; 10 constructor(readonly name: string, readonly age: number) { 11 } 12 13 SayHi(): void { 14 console.log(`我是${this.name},我来自${this.planet}`) 15 } 16 } 17 } 18 19 export namespace Mars { 20 21 export class Person { 22 planet: string = "火星"; 23 constructor(readonly name: string, readonly age: number) { 24 } 25 26 SayHi(): void { 27 console.log(`我是${this.name},我来自${this.planet}`) 28 } 29 } 30 } 1 import * as university from "./University" 2 3 //使用命名空间区分同名类 4 let earther = new university.Earth.Person("小明", 28); 5 let marser = new university.Mars.Person("哈努纳汉", 342); 6 7 earther.SayHi(); //我是小明,我来自地球 8 marser.SayHi(); //我是哈努纳汉,我来自火星 9 10 //注意一点,这段代码在浏览器中运行会报错,是因为不支持“export”这个用法,但是在控制台使用nodejs执行是可以正常调用的,如果想在浏览器中运行可以使用webpack |
请发表评论