广告
返回顶部
首页 > 资讯 > 精选 >TypeScript中的重要概念有哪些
  • 197
分享到

TypeScript中的重要概念有哪些

2023-06-27 10:06:27 197人浏览 薄情痞子
摘要

这篇文章主要介绍了typescript中的重要概念有哪些的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇TypeScript中的重要概念有哪些文章都会有所收获,下面我们一起来看看吧。Typescript中的几个重

这篇文章主要介绍了typescript中的重要概念有哪些的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇TypeScript中的重要概念有哪些文章都会有所收获,下面我们一起来看看吧。

Typescript中的几个重要概念

1.any 和 T(泛型)的区别

any:任意类型,代表的是所有类型泛型:泛型他就是所有类型中的一种类型,并不是完全的所有类型,所以在函数中返回的类型要和定义的类型一摸一摸,不能修改他原有的类型// 在这种场景下,有区别体现//正确function getInfo(age: any): any {    return "鬼哥今年:"+age}getInfo("18岁")//错误function getInfo(age: T): T {    return "鬼哥今年:"+age}getInfo("18岁")//这里直接报错

2.type  interface  enum

  • type:用来约束数据类型(数据结构,数据属性且可以是联合类型,元组类型)

  • interface:用来约束数据类型(数据结构,数据属性且不可以是联合类型,元组类型)

  • enum:用来约束数据类型的值,而并非数据类型

使用场景如:

//人interface People {}//动物interface Animal {}// type和interface区别1// 正确(人既可以是动物,也可以是人)type User=People | Animal;// 错误(人既可以是动物,也可以是人),使用interface定义却是不可以的interface User { People | Animal };其实从语法上可以看出他们两的区别,`type` 是用`=`符号,既然是等于,那肯定就存在多种情况的,`interface`使用的是`{}`符号,是一种`定义`的形式,既然是`定义`,那肯定就是觉得性质的,只会有一种可能// type和interface区别2既然`interface`是一种数据结构,那肯定是可以实现这种数据结构的,所以`interface`可以实现的功能// 比如运用interface用来定义接口,然后实现接口的功能:interface UserModelapi {    getUserList:()=>Promise,    getOrderList:()=>Promise,}class HtppApi implements UserModelApi{    getUserList(){        return new Promise((resolve)=>{        });    }    getOrderList(){        return new Promise(()=>{        });    }}// enum和const的区别// 正确(语法理解上一看就知道,是这个对象有哪种情况)enum Sex { M = "男", F = "女" }// `enum` Sex枚举可以用来定义类型const getInfo=function(sex:Sex){    return `我的性别为:${sex}`;}// 错误(而这种语法看上去就是,这个对象有哪些值)const Sex ={    M:"男",    F:"女"}// `const` Sex 不可以用来定义类型const getInfo=function(sex:Sex){    return `我的性别为:${sex}`;}

3.映射类型

将对象或数组中类型转换为另一个类型

// 假设一个系统账号登录的场景://定义一个用户信息的接口类型interface User {    age: number    name: string    passWord:string}//登录成功设置用户数据const UserInfo:User={    age:1,    name: "鬼哥",    password:"123456"}//输出密码为:123456console.log(UserInfo.password)//此时当设置用户数据成功后,User接口定义就不能再修改了,那我们就可以使用`映射类型`//设置所有属性为只读* keyof:获取当前对象所有属性{"age" | "name" | "password"}* T:泛型* P: 当前属性type SetReadonly ={    readonly [P in keyof T]:T[P];}//新建只读用户数据对象type ReadonlyUser = SetReadonly;const UserInfo:ReadonlyUser={    age:1,    name: "鬼哥",    password:"123456"}//直接报错,因为UserInfo实力中的每个属性都不可以修改console.log(UserInfo.password)//当然这样的举例说服我们去使用确实还缺少一些说服力,但是他的场景就是:在定义类型之后,可以重新设置定义类型的属性值

4.交叉类型

interface UserApi {    getOrderList():void}// extends方式interface AppApi extends UserApi {    getUserList():void}const appApi:AppApi={    getOrderList(){    },    getUserList(){    }}//交叉类型方式const appApi:AppApi&UserApi={    getOrderList(){    },    getUserList(){    }}

5.联合类型

interface UserApi {    getUserList():void}interface AppApi{    getUserList():void}//联合类型方式const appApi:AppApi|AppApi={    getUserList(){    }}

6.元组

type regionType={    province:string,    city:string}const region:regionType={    province:"上海省",    city:"上海市"}const tableList = ["鬼哥",15,region];

关于“TypeScript中的重要概念有哪些”这篇文章的内容就介绍到这里,感谢各位的阅读!相信大家对“TypeScript中的重要概念有哪些”知识都有一定的了解,大家如果还想学习更多知识,欢迎关注编程网精选频道。

--结束END--

本文标题: TypeScript中的重要概念有哪些

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

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

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

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

下载Word文档
猜你喜欢
  • TypeScript中的重要概念有哪些
    这篇文章主要介绍了TypeScript中的重要概念有哪些的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇TypeScript中的重要概念有哪些文章都会有所收获,下面我们一起来看看吧。Typescript中的几个重...
    99+
    2023-06-27
  • NIO的概念有哪些
    这篇文章主要介绍了NIO的概念有哪些的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇NIO的概念有哪些文章都会有所收获,下面我们一起来看看吧。缓冲区(Buffers) 新的 Buffer 类是常规 Java 类和...
    99+
    2023-06-17
  • 深入 JavaScript需要掌握的概念有哪些
    本篇文章为大家展示了深入 JavaScript需要掌握的概念有哪些,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。你可能会经常听到一些人在抱怨 JS 很奇怪,有时甚至...
    99+
    2022-10-19
  • C++中的函数概念有哪些
    这篇文章主要介绍“C++中的函数概念有哪些”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“C++中的函数概念有哪些”文章能帮助大家解决问题。(一)函数使用规则函数的定义不能嵌套但调用可以嵌套在函数调用...
    99+
    2023-06-29
  • 数据库概念设计的主要内容有哪些
    数据库概念设计的主要内容包括以下几个方面:1. 数据需求分析:确定数据库需要存储的数据及其特性,了解用户对数据的需求和使用方式,明确...
    99+
    2023-09-22
    数据库
  • HTML基本的概念有哪些
    这篇文章主要介绍“HTML基本的概念有哪些”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“HTML基本的概念有哪些”文章能帮助大家解决问题。   1、什么是HTML...
    99+
    2022-10-19
  • Jspxcms的基本概念有哪些
    这篇文章主要介绍“Jspxcms的基本概念有哪些”,在日常操作中,相信很多人在Jspxcms的基本概念有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Jspxcms的基本概念有哪些”的疑惑有所帮助!接下来...
    99+
    2023-06-26
  • Java多态的概念有哪些
    这篇“Java多态的概念有哪些”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Java多态的概念有哪些”文章吧。1.多态的概念...
    99+
    2023-06-30
  • Java变量的概念有哪些
    本篇内容主要讲解“Java变量的概念有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Java变量的概念有哪些”吧!实例变量实例变量又被称为Instance variables。不使用 sta...
    99+
    2023-06-16
  • J2SE的基本概念有哪些
    这篇文章主要讲解了“J2SE的基本概念有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“J2SE的基本概念有哪些”吧!Java概述:  目前Java主要应用于中间件的开发(middlewa...
    99+
    2023-06-03
  • CSS中尺寸单位的概念有哪些
    这篇文章主要介绍“CSS中尺寸单位的概念有哪些”,在日常操作中,相信很多人在CSS中尺寸单位的概念有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”CSS中尺寸单位的概念有...
    99+
    2022-10-19
  • Python Web编程的概念有哪些
    本篇内容主要讲解“Python Web编程的概念有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Python Web编程的概念有哪些”吧!1. 传统的Web Server应该具备的功能◆ 监...
    99+
    2023-06-17
  • Css3的概念和优势有哪些
    这篇文章主要介绍“Css3的概念和优势有哪些”,在日常操作中,相信很多人在Css3的概念和优势有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Css3的概念和优势有哪些”...
    99+
    2022-10-19
  • 索引是数据科学中的重要概念吗?
    在数据科学中,索引是一个经常被提及的概念,它是一种数据结构,用于快速查找和访问数据库中的数据。索引可以大大提高数据库的性能,但同时也会增加存储空间和维护成本。那么,索引是否是数据科学中的重要概念呢?本文将从以下几个方面进行探讨: 索引的...
    99+
    2023-07-23
    linux numy 索引
  • Windows安全相关的概念有哪些
    Windows安全相关的概念有以下几个: 访问控制:访问控制是指限制用户或进程对系统资源的访问。Windows系统通过用户帐户和...
    99+
    2023-10-23
    Windows
  • Kubernetes消息队列的概念有哪些
    这篇文章主要介绍“Kubernetes消息队列的概念有哪些”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Kubernetes消息队列的概念有哪些”文章能帮助大家解决问题。服务质量服务语义服务质量一般...
    99+
    2023-06-05
  • C#零基础开发中最重要的概念总结
    目录初步数学计算和函数变量和数据类型布尔类型和判断数组和for循环while循环与跳出初步 学习C#自然推荐使用宇宙最强IDE Visual Studio,初学下载社区版,安装过程中...
    99+
    2023-02-26
    C#开发重要概念 C#开发
  • J2ME编程中的几个重要概念分别是什么
    J2ME编程中的几个重要概念分别是什么,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。我们都知道,Java ME 以往称作J2ME(Java Platform,Micro Edi...
    99+
    2023-06-17
  • 对象是Java程序设计中最重要的概念吗?
    Java程序设计是一门面向对象的编程语言,因此对象在Java程序设计中占据着重要的地位。但是,对象是否是Java程序设计中最重要的概念呢?这是一个值得探讨的问题。 在Java程序设计中,对象是一切的基础。Java中的每个对象都是由类构造而成...
    99+
    2023-09-20
    关键字 对象 unix
  • 为什么Python对象是Unix和NumPy中的重要概念?
    Python是一种高级编程语言,它的对象是在Unix和NumPy中的重要概念。Python的对象是指变量和数据类型,是Python编程语言的基本构建块。在本文中,我们将探讨为什么Python对象在Unix和NumPy中如此重要,以及如何使用...
    99+
    2023-07-01
    对象 unix numy
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作