iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >Typescript中interface与type的相同点与不同点是什么
  • 381
分享到

Typescript中interface与type的相同点与不同点是什么

2023-07-04 16:07:41 381人浏览 独家记忆
摘要

今天小编给大家分享一下typescript中interface与type的相同点与不同点是什么的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一

今天小编给大家分享一下typescript中interface与type的相同点与不同点是什么的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。

interface VS type

大家使用 typescript 总会使用到 interface 和 type,官方规范 稍微说了下两者的区别

  • An interface can be named in an extends or implements clause, but a type alias for an object type literal cannot.

  • An interface can have multiple merged declarations, but a type alias for an object type literal cannot.

相同点

都可以描述一个对象或者函数

interface

interface User {  name: string  age: number}interface SetUser {  (name: string, age: number): void;}

type

type User = {  name: string  age: number};type SetUser = (name: string, age: number)=> void;

都允许拓展(extends)

interface 和 type 都可以拓展,并且两者并不是相互独立的,也就是说 interface 可以 extends type, type 也可以 extends interface 。 虽然效果差不多,但是两者语法不同

interface extends interface

interface Name {   name: string; }interface User extends Name {   age: number; }

type extends type

type Name = {   name: string; }type User = Name & { age: number  };

interface extends type

type Name = {   name: string; }interface User extends Name {   age: number; }

type extends interface

interface Name {   name: string; }type User = Name & {   age: number; }

不同点

type 可以而 interface 不行

  • type 可以声明基本类型别名,联合类型,元组等类型

// 基本类型别名type Name = string// 联合类型interface Dog {    wong();}interface Cat {    miao();}type Pet = Dog | Cat// 具体定义数组每个位置的类型type PetList = [Dog, Pet]
  • type 语句中还可以使用 typeof 获取实例的 类型进行赋值

// 当你想获取一个变量的类型时,使用 typeoflet div = document.createElement('div');type B = typeof div
  • 其他骚操作

type StrinGorNumber = string | number;  type Text = string | { text: string };  type NameLookup = Dictionary<string, Person>;  type Callback<T> = (data: T) => void;  type Pair<T> = [T, T];  type Coordinates = Pair<number>;  type Tree<T> = T | { left: Tree<T>, right: Tree<T> };

interface 可以而 type 不行

interface 能够声明合并

interface User {  name: string  age: number}interface User {  sex: string}

以上就是“Typescript中interface与type的相同点与不同点是什么”这篇文章的所有内容,感谢各位的阅读!相信大家阅读完这篇文章都有很大的收获,小编每天都会为大家更新不同的知识,如果还想学习更多的知识,请关注编程网精选频道。

--结束END--

本文标题: Typescript中interface与type的相同点与不同点是什么

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

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

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

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

下载Word文档
猜你喜欢
  • Typescript中interface与type的相同点与不同点是什么
    今天小编给大家分享一下Typescript中interface与type的相同点与不同点是什么的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一...
    99+
    2023-07-04
  • spawn与exec的相同点是什么
    本篇内容主要讲解“spawn与exec的相同点是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“spawn与exec的相同点是什么”吧!   Node.js...
    99+
    2022-10-19
  • null与undefined的异同点是什么
    这篇“null与undefined的异同点是什么”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这...
    99+
    2022-10-19
  • 一文探讨Git与SVN之间的相似点和不同点
    随着Git的兴起,版本控制已经成为许多软件开发人员的必备技能。但是,Git并不是唯一的版本控制系统,曾经流行的Subversion(SVN)仍然在许多工作场所中使用。在本文中,我们将探讨Git与SVN之间的相似点和不同点。Git vs. S...
    99+
    2023-10-22
  • java中抽象类和接口的相同和不同点是什么
    这篇文章将为大家详细讲解有关java中抽象类和接口的相同和不同点是什么,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。前言下面简单介绍抽象类,接口以及它们的异同点,另附简单的代码举例。一、抽象...
    99+
    2023-06-22
  • 进程与线程异同点是什么
    这篇文章主要讲解了“进程与线程异同点是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“进程与线程异同点是什么”吧!关于这个问题,有的同学可能已经背得滚瓜烂熟了:“进程是操作系统分配资源的单...
    99+
    2023-06-27
  • vue中el-autocomplete与el-select的异同点是什么
    这篇文章主要介绍“vue中el-autocomplete与el-select的异同点是什么”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“vue中el-autocomplete与el-select的异...
    99+
    2023-06-30
  • Kotlin的Collection与Sequence操作异同点是什么
    本文小编为大家详细介绍“Kotlin的Collection与Sequence操作异同点是什么”,内容详细,步骤清晰,细节处理妥当,希望这篇“Kotlin的Collection与Sequence操作异同点是什么”文章能帮助大家解决疑惑,下面跟...
    99+
    2023-07-04
  • React函数式组件与类组件的不同点是什么
    本文小编为大家详细介绍“React函数式组件与类组件的不同点是什么”,内容详细,步骤清晰,细节处理妥当,希望这篇“React函数式组件与类组件的不同点是什么”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。区别区别函...
    99+
    2023-06-29
  • 利用Java怎么获取集合中相同与不同的元素
    利用Java怎么获取集合中相同与不同的元素?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。语法 removeAll(Collection<> c)c:包含从列表中移除...
    99+
    2023-05-30
    java
  • Spring 中的 load 方法与编程算法的异同点是什么?
    Spring 是一个流行的 Java 开发框架,它提供了丰富的功能和工具,使得开发人员能够更加高效地编写 Java 应用程序。其中一个重要的功能就是 load 方法,它被广泛地应用于 Spring 应用程序中。在本文中,我们将探讨 Spr...
    99+
    2023-10-15
    load spring 编程算法
  • Java中的==与equals有什么不同
    这篇文章给大家介绍Java中的==与equals有什么不同,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。Java中==运算符与equals方法的区别及intern方法详解  ==运算符与equals()方法2...
    99+
    2023-05-31
    java == equals
  • CSS中<div>与<span>标签的相同点有哪些
    本篇内容主要讲解“CSS中<div>与<span>标签的相同点有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“CSS中<div...
    99+
    2022-10-19
  • 百度小程序与微信小程序有什么不同点
    今天小编给大家分享一下百度小程序与微信小程序有什么不同点的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。  1、时间维度  微...
    99+
    2023-06-26
  • PHP中的数组有哪些常用操作方式?与NumPy的相同点和差异是什么?
    PHP中的数组是一种非常常见的数据类型,可以存储多个值,并且可以通过索引访问和操作数组中的元素。在本文中,我们将介绍PHP中的数组常用操作方式,并将其与NumPy进行比较,以便更好地理解它们之间的相同点和差异。 一、PHP中的数组常用操作方...
    99+
    2023-08-26
    数组 numpy spring
  • windows默认网关不能与登录ip相同的原因是什么
    这篇文章主要介绍“windows默认网关不能与登录ip相同的原因是什么”,在日常操作中,相信很多人在windows默认网关不能与登录ip相同的原因是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”windo...
    99+
    2023-07-01
  • 海外服务器租用和托管的相同点是什么
    海外服务器租用和托管相同点:1. 海外服务器租用和托管都是不用备案,节省时间成本,快速部署,抢占市场先机。2. 海外服务器租用和托管的IP资源充足,能够保证服务器的高效运行。3. 海外服务器租用和托管都采用国际带宽,实现全球互访无压力。具体...
    99+
    2022-10-14
  • C++中NULL与nullptr的区别有什么不同
    这篇文章主要介绍C++中NULL与nullptr的区别有什么不同,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!一、C程序中的NULL在C语言中,NULL通常被定义为:#define NULL ((void *)0)所...
    99+
    2023-06-15
  • Java中Groovy、Scala和Clojure的共同点是什么
    Java中Groovy、Scala和Clojure的共同点是什么,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。Java 编程语言诞生时所面临的限制与如今的开发人员所面临的条...
    99+
    2023-06-17
  • php $_cookie值与存入值不同的原因是什么
    今天小编给大家分享一下php $_cookie值与存入值不同的原因是什么的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。变量名...
    99+
    2023-07-05
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作