您的位置:首页 >电脑游戏 >

【当前独家】开源编程语言TypeScript命名空间的规则介绍,TypeScript命名空间合并讲解

2022-11-17 08:58:28    来源:元马网
开源编程语言TypeScript命名空间的规则介绍,TypeScript命名空间合并讲解,对于同名的命名空间之间的合并,记住一下4点:里头模块导出的同名接口会合并为一个接口,对于非导出成员,仅在其原有的(合并前的)命名空间内可见。也就是说合并之后,从其它命名空间合并进来的成员无法访问非导出成员,对于里头值的合并,如果里头值的名字相同,那么后来的命名空间的值会优先级会更高,TypeScript是一种开源的编程语言,该语言项目由微软进行维护和管理。TypeScript不仅包含JavaScript的语法,而且还提供了静态类型检查以及使用看起来像基于类的面向对象编程语法操作Prototype。
目录
同名的命名空间之间的合并命名空间和其他类型的合并合并同名的命名空间和类合并同名的命名空间和函数同名的命名空间和枚举

前言:回顾上一节的内容,在上一节中我们介绍了TS中最常见的声明合并:接口合并

我们从中了解了声明合并其实指的就是编译器会针对同名的声明合并为一个声明,合并的结果是合并后的声明会同时拥有原先两个或多个声明的特性


【资料图】

而接口合并的合并需要里面的成员是否有函数成员。对于里头的函数成员来说,每个同名函数声明都会被当成这个函数的一个重载,当接口 A与后来的接口 A合并时,后面的接口具有更高的优先级

今天要讲的内容也是TS中的声明合并,但这次是命名空间相关的合并

主要分两方面来讲,一是同名的命名空间之间的合并,二是命名空间和其他类型的合并。下面会一一讲述

同名的命名空间之间的合并

与接口合并相类似,两个或多个同名的命名空间也会合并其成员

那具体怎么合并呢?

对于同名的命名空间之间的合并,记住一下4点:

里头模块导出的同名接口会合并为一个接口对于非导出成员,仅在其原有的(合并前的)命名空间内可见。也就是说合并之后,从其它命名空间合并进来的成员无法访问非导出成员对于里头值的合并,如果里头值的名字相同,那么后来的命名空间的值会优先级会更高对于没有冲突的成员,会直接混入

例如:

namespace Animals {    export class Cat { }}namespace Animals {    export interface Legged { numberOfLegs: number; }    export class Dog { }}

等同于:

namespace Animals {    export interface Legged { numberOfLegs: number; }    export class Cat { }    export class Dog { }}

上述例子中,两个同名的命名空间Animals,最终合并为一个命名空间,而且结果是三个没有冲突的东西,直接混合在一起了

命名空间和其他类型的合并

命名空间可以与其它类型的声明进行合并,比如与类和函数,比如和枚举类型

合并同名的命名空间和类

例如:

class Album {    label: Album.AlbumLabel;}namespace Album {    export class AlbumLabel { }//导出 `AlbumLabel`类,好让合并的类能访问}

命名空间和类的合并,结果是一个类并带有一个内部类

合并同名的命名空间和函数

除了上述的内部类的模式,你在JavaScript里,创建一个函数稍后扩展它增加一些属性也是很常见的。 TypeScript使用声明合并来达到这个目的并保证类型安全

例如官方的一个例子:

function buildLabel(name: string): string {    return buildLabel.prefix + name + buildLabel.suffix;}namespace buildLabel {    export let suffix = "";    export let prefix = "Hello, ";}console.log(buildLabel("Sam Smith"));

同名的命名空间和枚举

可以用来扩展枚举,还是看官方给的例子吧

enum Color {    red = 1,    green = 2,    blue = 4}namespace Color {    export function mixColor(colorName: string) {        if (colorName == "yellow") {            return Color.red + Color.green;        }        else if (colorName == "white") {            return Color.red + Color.green + Color.blue;        }        else if (colorName == "magenta") {            return Color.red + Color.blue;        }        else if (colorName == "cyan") {            return Color.green + Color.blue;        }    }}

注意:并不是所有东西都能合并,需要注意:类不能与其它类或变量合并

到此这篇关于TS命名空间合并讲解的文章就介绍到这了,更多相关TS命名空间合并内容请搜索元马网以前的文章或继续浏览下面的相关文章希望大家以后多多支持元马网!开源编程语言TypeScript命名空间的规则介绍,TypeScript命名空间合并讲解相关文章介绍说明。

相关阅读

vivo手机型号对照表(vivo手机全部型号对照表)

【独家焦点】摩托罗拉338c,掌中宝338C经典怀旧手机

4㎡的小阳台太鸡肋,小阳台能改什么

全球即时:孝感市税收收入多少,湖北孝感市孝南区

三星note3刷flyme系统,N9006zcugoh2 root

索爱lt18i说明书(索爱手机lt18i)

聚焦:一千元内音质最好的音响,1000元以下音响排行榜

环球热文:福建国税局举报邮箱是多少,厦多所中小学公布举报电话

《镇邪》快捷键怎么才能不占用热键?《镇邪》快捷键不占用热键方法介绍

战至巅峰,英雄登顶!2022动感地带5G校园先锋赛湖北省总决赛完美落幕

炎帝故里,王者称霸!动感地带5G校园先锋赛随州站城市赛鸣锣收官

如何安装高德地图车机版,手机安装高德地图车机版

天天观焦点:撤销江东区撤奉化市设奉化区,为什么撤销江东区

一加 11 首批搭载第二代骁龙8移动平台,首发移动光追开放平台

世界热点评!电信性价比划算 移动花卡划算不

东莞什么卡流量多又便宜 移动纯流量卡套餐介绍

每日速递:痛风注意事项及饮食 4个方面注意好

《宝可梦朱紫》太晶钢快龙在什么地方?《宝可梦朱紫》太晶钢快龙位置坐标说明

王牌战争蓝卡房怎么找?王牌战争蓝卡房位置坐标展示

伊洛纳手游信仰等级怎么提升?伊洛纳手游信仰等级提升方法介绍

《大航海探险物语》岛屿掉落都有什么物品?《大航海探险物语》岛屿全物品道具掉落介绍

王牌战争双层天花板怎么建造?王牌战争双层天花板建造技巧分享

《大航海探险物语》角色怎么升星?《大航海探险物语》角色快速升星教程

风色幻想命运传说刻纹搭配怎么选?风色幻想命运传说刻纹推荐搭配介绍

环球热头条丨比特币交易平台排名,全国比特币交易平台排条

天天看热讯:蓝队云对于新建网站过程中的细节盘点

学校师德师风考核方案 师德师风计划

《大航海探险物语》怪鸟沙沙宠物怎么获得?《大航海探险物语》怪鸟沙沙方式介绍

环球时讯:8799,适合男生玩...

《光遇》霞谷神坛位置在哪?《光遇》霞谷神坛位置坐标介绍

原始人别疯狂科技点如何获得?原始人别疯狂科技点获取方式讲解

《我的勇者》炼金材料怎么获得?《我的勇者》炼金材料获取有哪些方法?

苹果手机怎么卖高价(苹果手机怎么卖个好价格)

短讯!绿米智能家居服务费标准 小米智能家居服务费

每日播报!高压线多少高,农村高压线一般多少伏

环球短讯!在线动作RPG《蓝色协议》将于明年初春在日本推出PC版

今日要闻!《决战平安京》史诗皮肤「和月清歌」即将上架

世界热门:组装过的苹果手机能回收吗 高价手机能回收吗

全球球精选!灵魂石幸存者伤害暴击和爆伤哪个优先级更高

横向卷轴动作游戏《RWBY:Arrowfell》发布上市宣传片 现已正式发售

大学生如何理财 论文,理财高手狙击年轻人

《文明6》发布领袖季票预告片 将于11月21日推出

前Epic开发者新工作室Noddle Cat筹集410万美元

税收营商环境持续优化,良好的税收营商环境是什么意思

全球通讯!为解决新问题 《守望先锋:归来》11月16日平衡补丁推迟发布

世界看点:《奇迹暖暖》奇渊之屿 充值馈赠

《宝可梦:朱/紫》发布游戏特色介绍视频

宝可梦朱紫朱版本粉蝶虫在哪里抓

世界快消息!《华纳大乱斗》第2赛季介绍:新角色火星人马文加入战斗

灵魂石幸存者激光吃多重施法和范围吗

全球热讯:动作RPG游戏《伊苏8:达娜的安魂曲》现已推出原生PS5版

世界消息!战神诸神黄昏矿坑两兄弟怎么打

【聚看点】《非人学园》持共鸣时装“婴宁”已上架

灵魂石幸存者解锁角色要求是什么

RTX 4080第三方评测:比RTX 3090Ti快很多

快看点丨《使命召唤19》第一赛季通行证介绍影片 11月17日上线

《宝可梦朱紫》太晶化怎么触发?《宝可梦朱紫》太晶化触发方法介绍

《宝可梦朱紫》特性膏药怎么获得?《宝可梦朱紫》特性膏药道具属性介绍

英雄联盟北极星神戴安娜皮肤效果怎么样?英雄联盟北极星神戴安娜皮肤特效展示

战神5坩埚挑战任务怎么过?战神5坩埚挑战任务流程攻略

《使命召唤19现代战争2》游戏崩溃怎么办?《使命召唤19现代战争2》崩溃处理方法分享

《战神5》神秘遗物什么属性?《战神5》神秘遗物道具获取途径分享

《鹅鹅鸭》游戏规则怎么玩?《鹅鹅鸭》游戏规则讲解

《皇家骑士团重生》教士职业怎么样?《皇家骑士团重生》教士职业技能展示

【环球报资讯】Xbox老大愿意向索尼承诺:COD将长期留在PS平台上

《ROOM Girl》人物卡高冷御姐荷官怎么获得?《ROOM Girl》人物卡高冷御姐荷官扭脸数据分享

《潜水员戴夫》海葡萄在什么地方?《潜水员戴夫》海葡萄位置坐标分享

环球热点!Xbox负责人:独立串流设备价格应在99-129美元

世界快讯:PSVR2现已开启预购 目前仅限7个国家

CDPR确认《赛博朋克2077》“往日之影”将是付费DLC

报道:年度K歌游戏《超级歌声2023》现已正式上市

世界球精选!任天堂公布《宝可梦:朱/紫》特色介绍视频

《文明6》将推出领袖季票 含武则天等新领袖

天天简讯:jbl es80(jbl es80bk)

世界关注:苹果手机微信双开安全吗(苹果手机微信双开安全吗?)

小米6 5.5寸版本,11英寸2.5K高清

每日热门:家用吸尘器哪个品牌最好用,吸尘器哪个牌子好

环球观察:进口tiguan用什么刹车油(进口tiguan用什么机油)

今日要闻!《RWBY:Arrowfell》现已于各大平台正式发售

当前速递!《漫威复仇者联盟》冬兵巴基巴恩斯加入角色阵容

世界观察:《伊苏8:达娜的安魂曲》原生PS5版现已推出

当前信息:欢乐开放世界RPG《足球物语》将于11月29日发行

热点!《蓝色协议》将于2023年初春在日本地区推出

环球播报:XGP 11月下旬新增游戏公布 《沙丘:香料战争》等

策略模拟《荣誉骑士2:君主》12.6登陆Steam 支持中配

天天热资讯!RTX 4080显卡IGN 8分:性能对得起价格

全球短讯!乌克兰 物流 多少钱,最便宜到乌克兰快递

世界简讯:ubuntu系统设置开机自启动服务

iphoneios14.2 最新的ios14.2

【世界热闻】三星j3119怎么格式化手机

英国实体销量榜:《战神5》首发击败《使命召唤19》

每日观察!LG手机怎样,有什么大缺点吗?

精选!《原神》智巧灵蕈大竞逐第三天潜能焕发满奖励攻略

全球今日讯!《永恒岛之彩虹世界》职业选择攻略

天天快资讯:《原神》丘丘萨满分布图一览

【热闻】《梦幻西游手游》蛟魔地宫第三层通关攻略

《剑与远征》无援孤岛奇境通关攻略

《夏日重现 Another Horizon》全新角色小弓场宣传片

热点聚焦:XSS主机限定捆绑包Gilded Hunter 29日开售 含多款特典

带你看懂破壁机的功率数值

《夏日重现Another Horizon》PV3公开 明年1月发售

带你看懂破壁机的功率数值

世界热点!吸血鬼幸存者隐藏人物红幽灵怎么解锁

环球资讯:巨人网络《仙侠世界》Steam页面开放 11月28日上线

消息!吸血鬼幸存者隐藏人物问号哥怎么解锁

《使命召唤 战区2.0》在哪下载、预下载方法以及配置要求消息一览

全球时讯:吸血鬼幸存者隐藏人物阿瓦达怎么解锁

微速讯:《黑色沙漠》开发商怪物收集新作《多可比》延期