广告
返回顶部
首页 > 资讯 > 前端开发 > JavaScript >TS中最常见的声明合并(接口合并)
  • 448
分享到

TS中最常见的声明合并(接口合并)

2024-04-02 19:04:59 448人浏览 独家记忆
摘要

目录1.合并接口1.1非函数成员1.2函数成员前言: 今天要讲的内容还是TS相关,在TS中最常见的声明合并:接口合并 在聊接口合并之前,我们先来聊聊声明合并 声明合并: 什么是声明

前言:

今天要讲的内容还是TS相关,在TS中最常见的声明合并:接口合并

在聊接口合并之前,我们先来聊聊声明合并

声明合并:

什么是声明合并?

其实很好理解,TS中的声明合并,指的就是编译器会针对同名的声明合并为一个声明

合并的结果:

合并后的声明会同时拥有原先两个或多个声明的特性

疑问:
那这两个或多个具体指的是什么呢?

其实得分几种情况讲,今天要讲的就是其中一种,最简单也最常见的声明合并类型是接口合并

1.合并接口

我们刚刚说了,“合并后的声明会同时拥有原先两个或多个声明的特性”

接口的合并也是一样,它会将双方的成员放到一个同名的接口里

需要注意的是,接口里面的成员有函数成员和非函数成员,情况有所不一样

1.1非函数成员

例如:


interface Box {
    height: number;
}

interface Box {
    width: number;
}

let box: Box = {height: 2, width: 3};


上述代码中,定义了两个名字都为Box的同名接口(实际开发中,可能来源于不同的文件),最终里面的东西会混合在一起

但是需要注意,以上情况里头的成员都是唯一的,但如果两个接口中同时声明了同名的非函数成员且它们的类型不同,则编译器会报错

1.2函数成员

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

例如官方的例子:


interface Cloner {
    clone(animal: Animal): Animal;
}

interface Cloner {
    clone(animal: Sheep): Sheep;
}

interface Cloner {
    clone(animal: Dog): Dog;
    clone(animal: Cat): Cat;
}


最终会合并成一个声明,如下:


interface Cloner {
    clone(animal: Dog): Dog;
    clone(animal: Cat): Cat;
    clone(animal: Sheep): Sheep;
    clone(animal: Animal): Animal;
}


需要注意两点:

  • 每组接口里的声明顺序不变
  • 各组接口之间的顺序是后来的接口重载出现在靠前位置

不过也有例外:当出现特殊的函数签名时。 如果签名里有一个参数的类型是单一的字符串字面量(比如,不是字符串字面量的联合类型),那么它将会被提升到重载列表的最顶端

到此这篇关于TS中最常见的声明合并(接口合并)的文章就介绍到这了,更多相关TS中的接口合并内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: TS中最常见的声明合并(接口合并)

本文链接: https://www.lsjlt.com/news/161225.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

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

下载Word文档
猜你喜欢
  • TS中最常见的声明合并(接口合并)
    目录1.合并接口1.1非函数成员1.2函数成员前言: 今天要讲的内容还是TS相关,在TS中最常见的声明合并:接口合并 在聊接口合并之前,我们先来聊聊声明合并 声明合并: 什么是声明...
    99+
    2022-11-12
  • TS中最常见的声明合并有哪些
    小编给大家分享一下TS中最常见的声明合并有哪些,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!前言:在TS中最常见的声明合并:接口合并在聊接口合并之前,我们先来聊聊...
    99+
    2023-06-22
  • php中合并数组的常见方法
    你好, 我是程序猿零壹。 相信各位phper在日常开发中,会经常遇到需要合并数组的场景。那么,在php中都有哪一些方法可以用来合并数组呢。 第一种,使用“+”运算符 使用加号“+”运算符,可以直接将两个数组合并成一个数组。 示例代码: ...
    99+
    2023-09-04
    php 开发语言
  • C#中常见的并发集合和线程安全问题
    C#中常见的并发集合和线程安全问题在C#编程中,处理并发操作是非常常见的需求。当多个线程同时访问和修改同一数据时,就会出现线程安全问题。为了解决这个问题,C#提供了一些并发集合和线程安全的机制。本文将介绍C#中常见的并发集合以及如何处理线程...
    99+
    2023-10-22
    集合 并发 线程安全
  • Git 中的 PHP 接口和 JavaScript:如何处理分支合并?
    Git 是一个流行的版本控制系统,被广泛用于软件开发中。PHP 和 JavaScript 是两种常用的编程语言,它们在 Git 中的使用也是非常普遍的。本文将介绍 Git 中的 PHP 接口和 JavaScript 如何处理分支合并。 一、...
    99+
    2023-06-30
    接口 javascript git
  • 接口并发:ASP 教程中常见的疑问与解答!
    ASP是一种动态网页开发技术,它允许开发人员使用VBScript或JScript编写动态网页。在ASP教程中,接口并发是一个常见的问题。在本文中,我们将解答一些关于接口并发的常见问题,并提供一些演示代码。 什么是接口并发? 接口并发指...
    99+
    2023-11-07
    教程 接口 并发
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作