我的编程空间,编程开发者的网络收藏夹
学习永远不晚

TypeScript声明合并的实现

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

TypeScript声明合并的实现

1.接口合并

interface TestInterface {
    name:string;
}
interface TestInterface {
    age:number;
}
//相当于下面
interface TestInterface {
    name:string;
    age:number;
}
class Person implements TestInterface{
    name:string;
    age:number;
}

1.1同名接口如果属性名相同, 那么属性类型必须一致

interface TestInterface {
    name:string;
}
interface TestInterface {
    name:number;//报错
}

1.2同名接口如果出现同名函数, 那么就会成为一个函数的重载

interface TestInterface {
    getValue(value:number):number;
}
interface TestInterface {
    getValue(value:string):number;
}
let obj:TestInterface = {
    getValue(value:any):number{
        if(typeof value === 'string'){
            return value.length;
        }else{
            return value.toFixed();
        }
    }
}
console.log(obj.getValue("abcdef"));
console.log(obj.getValue(3.14));

2.命名空间

namespace Validation{
    export let name:string = 'lnj';
}
namespace Validation{
    export let age:number = 18;
}
console.log(Validation.name);
console.log(Validation.age);

2.1同名的命名空间中不能出现同名的变量,方法等

namespace Validation{
    export let name:string = 'lnj';
    export let say = ()=> "abc";
}
namespace Validation{
    export let name:string = 'zs';//报错
    export let say = ()=> "abc";//报错
}

2.2同名的命名空间中其它命名空间没有通过export导出的内容是获取不到的

namespace Validation{
    let name:string = 'lnj';//输出name = 获取不到name
    //  export let name:string = 'lnj'; 输出name =lnj
    
}
namespace Validation{
    export let say = ()=> {
        console.log(`name = ${name}`);
    };
}
Validation.say();

3.命名空间和类合并

注意点: 类必须定义在命名空间的前面
会将命名空间中导出的方法作为一个静态方法合并到类中

class Person {
    say():void{
        console.log('hello world');
    }
}
namespace Person{
    export const hi = ():void=>{
        console.log('hi');
    }
}
console.dir(Person);

4.命名空间和函数合并

注意点: 函数必须定义在命名空间的前面

function getCounter() {
    getCounter.count++;
    console.log(getCounter.count);
}
namespace getCounter{
    export let count:number = 0;
}

5.命名空间和枚举合并

注意点: 没有先后顺序的要求

enum Gender {
    Male,
    Female
}
namespace Gender{
    export const Yao:number = 666;
}
console.log(Gender);

到此这篇关于TypeScript声明合并的实现的文章就介绍到这了,更多相关TypeScript声明合并内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

TypeScript声明合并的实现

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

TypeScript声明合并如何实现

今天小编给大家分享一下TypeScript声明合并如何实现的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。1.接口合并inte
2023-07-02

怎么实现自动生成typescript类型声明工具

本篇内容主要讲解“怎么实现自动生成typescript类型声明工具”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么实现自动生成typescript类型声明工具”吧!在TypeScript 项目
2023-07-05

自动生成typescript类型声明工具实现详解

这篇文章主要为大家介绍了自动生成typescript类型声明工具实现示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
2023-05-14

TS中最常见的声明合并有哪些

小编给大家分享一下TS中最常见的声明合并有哪些,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!前言:在TS中最常见的声明合并:接口合并在聊接口合并之前,我们先来聊聊
2023-06-22

基于JS实现将JSON数据转换为TypeScript类型声明的工具

在TypeScript 项目中,我们经常需要使用声明一系列的ts类型。然而,手动写的效率实在太低,本文就实现一个工具将 JSON 数据转换为 TypeScript 类型定义,需要的可以参考一下
2023-05-14

TypeScript怎么实现归并排序

这篇文章主要介绍“TypeScript怎么实现归并排序”,在日常操作中,相信很多人在TypeScript怎么实现归并排序问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”TypeScript怎么实现归并排序”的疑
2023-07-05

VB.NET中如何实现变量声明

VB.NET中如何实现变量声明,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。用户可以使用一般的声明的描述来声明一个对象变量,但是必须把VB.NET变量声明为Ob
2023-06-17

VB.NET中怎么实现变量声明

VB.NET中怎么实现变量声明,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。用户可以使用一般的声明的描述来声明一个对象变量,但是必须把VB.NET变量声明为Object或者
2023-06-17

C#中怎么实现类型声明

本篇文章给大家分享的是有关C#中怎么实现类型声明,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。C#类型声明定义新的引用类型。一个类可以从另一个类继承,并且可以实现多个接口。类成
2023-06-17

Golang中map的声明定义如何实现

本篇内容主要讲解“Golang中map的声明定义如何实现”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Golang中map的声明定义如何实现”吧!定义map,在golang中定义为map[str
2023-07-05

C#接口怎么声明和实现

这篇文章主要讲解了“C#接口怎么声明和实现”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“C#接口怎么声明和实现”吧!学习C#接口:声明接口声明接口在语法上和声明抽象类完全相同,例如这里有一个
2023-06-18

编程热搜

目录