前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >TypeScript 命名空间

TypeScript 命名空间

作者头像
程序猿的栖息地
发布2024-01-30 16:57:28
980
发布2024-01-30 16:57:28
举报

TypeScript 命名空间

命名空间一个最明确的目的就是解决重名问题。

命名空间定义了标识符的可见范围,一个标识符可在多个命名空间中定义,在不同命名空间中的同一个标识是互不相干的。

namesapce

TypeScript 中命名空间使用 namespace 来定义,语法格式如下:

代码语言:javascript
复制
namespace  空间名称{ 
    export interface ISomeInterfaceName { } 
    export class SomeClassName { } 
}

命名空间实现步骤

1 创建如下目录结构 :

代码语言:javascript
复制
|_ 项目目录
    |_ SpaceA\
        |_ dog.ts
    |_ SpaceB\
        |_ dog.ts
    |_ animal.ts
    |_ test.ts

2 animal.ts 源码

代码语言:javascript
复制
interface Animal{
    eat():void;
}

3 SpaceA/dog.ts 源码

代码语言:javascript
复制
/// <reference path = "../animal.ts" /> 
namespace SpaceA {
    export class Dog implements Animal{
        eat():void{
            console.log("SpaceA dog eat ...");    
        }
    }
}

4 SpaceB/dog.ts 源码

代码语言:javascript
复制
/// <reference path = "../animal.ts" /> 
namespace SpaceB {
    export class Dog implements Animal{
        eat():void{
            console.log("SpaceB dog eat ...");    
        }
    }
}

5 test.ts 源码

代码语言:javascript
复制
/// <reference path = "./SpaceA/dog.ts" />
/// <reference path = "./SpaceB/dog.ts" />
var dogA = new SpaceA.Dog();
dogA.eat();
var dogB = new SpaceB.Dog();
dogB.eat();

将多个空间编译为一个 js 文件

代码语言:javascript
复制
tsc --outFile app.js .\test.ts

运行查看结果

代码语言:javascript
复制
node .\app.js
本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2024-01-30,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 程序猿的栖息地 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • TypeScript 命名空间
  • namesapce
  • 命名空间实现步骤
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档