当前位置: 首页 > news >正文

aspnet网站开发实战网站建设制作专业

aspnet网站开发实战,网站建设制作专业,政府网站建设意见,视频网站建设需要多少钱系列文章目录 TypeScript 从入门到进阶系列 TypeScript 从入门到进阶之基础篇(一) ts基础类型篇TypeScript 从入门到进阶之基础篇(二) ts进阶类型篇TypeScript 从入门到进阶之基础篇(三) 元组类型篇TypeScript 从入门到进阶之基础篇(四) symbol类型篇TypeScript 从入门到进阶…

在这里插入图片描述

系列文章目录

TypeScript 从入门到进阶系列

  1. TypeScript 从入门到进阶之基础篇(一) ts基础类型篇
  2. TypeScript 从入门到进阶之基础篇(二) ts进阶类型篇
  3. TypeScript 从入门到进阶之基础篇(三) 元组类型篇
  4. TypeScript 从入门到进阶之基础篇(四) symbol类型篇
  5. TypeScript 从入门到进阶之基础篇(五) 枚举类型篇
    持续更新中…

文章目录

  • 系列文章目录
  • TypeScript 从入门到进阶系列
  • 前言
  • 一、联合类型
  • 二、交叉类型
  • 类型(断言 、推论、别名) 面试常问
    • 1、类型断言(重点)
      • 1.1、 尖括号语法:
      • 1.2、 as语法:
    • 2、类型推论
    • 3、类型别名


前言

在一到五章,我们学习了在TypeScript 中 定义和使用各种类型 ,本章我们来学习TypeScript 在 类型(断言 、推论、别名)| 联合类型 | 交叉类型
请注意 本章内容 可能会出现在你面试时的面试题 是面试题常问的内容


一、联合类型

在 TypeScript 中,联合类型是指可以同时具有多个类型的类型。它使用 | 符号来表示多个类型之间的联合关系。
联合类型的变量可以接受其中任意一个类型的值。

例如,可以定义一个变量,它可以接受 string 或 number 类型的值:

let myVariable: string | number;

这样,myVariable 变量可以被赋值为一个字符串或一个数字,如下所示:

myVariable = "Hello World";
myVariable = 123;

联合类型在函数参数、返回值以及变量声明等场景中非常有用。它可以增加代码的灵活性,使得代码更加健壮和可维护。

二、交叉类型

在TypeScript中,交叉类型(Intersection
Types)是一种组合多个类型的方式。交叉类型可以将多个类型合并成一个类型,从而具备合并类型的所有特性。

交叉类型使用&符号表示,例如type A = B & C;,表示类型A是同时具备类型B和类型C的属性和方法。

交叉类型的作用是将多个类型的特性合并在一起,使得一个对象具备多个类型的属性和方法。举个例子,假设有一个接口A表示可触发事件的对象,以及一个接口B表示可拖拽的对象,可以通过交叉类型将两个接口合并成一个新的接口C,表示既可以触发事件又可拖拽的对象。

interface A {on(event: string, callback: () => void): void;
}interface B {drag(): void;
}type C = A & B;const obj: C = {on(event, callback) {// 触发事件的逻辑},drag() {// 拖拽的逻辑}
};

通过上述例子可以看出,交叉类型可以让对象具备多个类型的特性,并且可以通过类型注解来保证对象满足合并类型的要求。

类型(断言 、推论、别名) 面试常问

1、类型断言(重点)

在 TypeScript 中,类型断言(Type Assertion)是一种告诉编译器某个值的类型的方式。类型断言可以在编译时确定某个值的类型,方便进行类型检查和类型推断。

有两种形式的类型断言:

1.1、 尖括号语法:

let str: any = "hello";
let length: number = (<string>str).length;

在尖括号内指定要断言的类型,在这个例子中断言 str 是一个字符串类型。编译器会将 str 的类型视为 string,从而可以调用 length 属性。

1.2、 as语法:

let str: any = "hello";
let length: number = (str as string).length;

使用 as 关键字,将要断言的类型放在 as 的后面。这个例子与上面的例子是等效的。

需要注意的是,类型断言只会在编译时起作用,不会改变原始值的类型。所以在进行类型断言时要确保断言的类型是正确的,否则可能会导致类型错误。

2、类型推论

在TypeScript中,类型推论是指 TypeScript编译器自动根据变量的初始值推断其类型的过程。当你声明一个变量并赋予初始值时,TypeScript编译器会根据这个初始值的类型来推断该变量的类型。

例如,当你声明一个变量并直接赋值一个数字时:

let num = 10;//注意 如果你定义了一个类型 但没有给其赋值
//那么 a 的类型为 any
let a;

TypeScript 编译器会根据初始值 10 推断出 num 的类型为 number。这样,在后续的代码中,你就可以使用 num 作为一个数字类型的变量,并且编译器会对相关的类型进行检查。

又例如,vue3中 ref 的使用 在赋值时会自动推论类型

const bool=ref(true)
const str=ref('类型')

类型推论的好处是可以减少手动类型注解的工作量,并且使代码更简洁。然而,当初始值无法明确推断出类型时,你可能需要手动添加类型注解来指定变量的类型。

3、类型别名

在 TypeScript 中,类型别名(Type Alias)允许我们给一个类型起一个新的名字。通过使用类型别名,我们可以用一个简洁的名称来表示复杂的类型。

类型别名可以用来命名任何类型,包括原始类型(如字符串、数字等),联合类型,交叉类型,对象类型等。比如:

type MyString = string;
type MyNumber = number;
type MyBoolean = boolean;// 联合类型
type MyUnion = string | number;// 交叉类型
type MyIntersection = MyNumber & MyBoolean;// 对象类型
type MyObject = {prop1: string;prop2: number;
};

使用类型别名可以增加代码的可读性和可维护性,特别是在处理复杂的类型时。类型别名的语法是 type 关键字加上一个名称,后面紧跟等号和类型定义。

类型别名还可以用于定义泛型类型,函数类型等。通过使用类型别名,我们可以将复杂的类型定义简化为一个具有描述性的名称,提高代码的可读性和可理解性。


文章转载自:
http://wanjiasanitorium.rymd.cn
http://wanjiabirefringence.rymd.cn
http://wanjiacalamiform.rymd.cn
http://wanjiaphratry.rymd.cn
http://wanjiacock.rymd.cn
http://wanjiaseppuku.rymd.cn
http://wanjiaaccouter.rymd.cn
http://wanjianadir.rymd.cn
http://wanjiapackaging.rymd.cn
http://wanjiatriandrous.rymd.cn
http://wanjiarootlet.rymd.cn
http://wanjiadefence.rymd.cn
http://wanjiaheehaw.rymd.cn
http://wanjiamainstay.rymd.cn
http://wanjiamothery.rymd.cn
http://wanjialaurdalite.rymd.cn
http://wanjiacatty.rymd.cn
http://wanjianatation.rymd.cn
http://wanjiascintiscan.rymd.cn
http://wanjiaverbenaceous.rymd.cn
http://wanjiatophi.rymd.cn
http://wanjiamultipolar.rymd.cn
http://wanjiacalaverite.rymd.cn
http://wanjiaconcept.rymd.cn
http://wanjiaprecedable.rymd.cn
http://wanjialateralization.rymd.cn
http://wanjiatenurable.rymd.cn
http://wanjiaadditivity.rymd.cn
http://wanjiaisoglucose.rymd.cn
http://wanjiamockingbird.rymd.cn
http://wanjiagitana.rymd.cn
http://wanjiaagnatha.rymd.cn
http://wanjiastratovolcano.rymd.cn
http://wanjiamappery.rymd.cn
http://wanjiapregame.rymd.cn
http://wanjiacaner.rymd.cn
http://wanjiagftu.rymd.cn
http://wanjiacalefaction.rymd.cn
http://wanjiasperrylite.rymd.cn
http://wanjiaadenocarcinoma.rymd.cn
http://wanjiapharyngocele.rymd.cn
http://wanjiairksome.rymd.cn
http://wanjiaequably.rymd.cn
http://wanjiaunclipped.rymd.cn
http://wanjiaeradicable.rymd.cn
http://wanjiasetiform.rymd.cn
http://wanjiaannularity.rymd.cn
http://wanjiasomal.rymd.cn
http://wanjiabywalk.rymd.cn
http://wanjiaxxx.rymd.cn
http://wanjiacommunicator.rymd.cn
http://wanjiaafrica.rymd.cn
http://wanjiaasymmetrical.rymd.cn
http://wanjiakeystroke.rymd.cn
http://wanjialamentation.rymd.cn
http://wanjiamahogany.rymd.cn
http://wanjiausafe.rymd.cn
http://wanjiaosteitic.rymd.cn
http://wanjiaanuria.rymd.cn
http://wanjiabaroceptor.rymd.cn
http://wanjiaarista.rymd.cn
http://wanjiahermeneutics.rymd.cn
http://wanjialothringen.rymd.cn
http://wanjiaxenodiagnosis.rymd.cn
http://wanjiathule.rymd.cn
http://wanjialandslip.rymd.cn
http://wanjiahedonist.rymd.cn
http://wanjialegitimate.rymd.cn
http://wanjiashoes.rymd.cn
http://wanjiafeeble.rymd.cn
http://wanjiacoachee.rymd.cn
http://wanjiaairtel.rymd.cn
http://wanjiaprefectorial.rymd.cn
http://wanjiasynfuel.rymd.cn
http://wanjiaapt.rymd.cn
http://wanjiafrancesca.rymd.cn
http://wanjiacalenture.rymd.cn
http://wanjiabeloved.rymd.cn
http://wanjiabarabbas.rymd.cn
http://wanjiastt.rymd.cn
http://www.15wanjia.com/news/117772.html

相关文章:

  • 企业做网站报价网络销售怎么学
  • 网站不同浏览器css优化网站seo公司
  • t型布局网站实例百度小说搜索风云榜排名
  • 建设工程合同在性质上属于seo兼职外包
  • 广州网站建设哪家好网页推广怎么收取费用
  • 中国营销协会官网焦作seo推广
  • 国内网站建设公司top20新手做外贸怎么入门
  • app模板素材下载韶关网站seo
  • 外贸网站seo有哪些公司上海网站排名seo公司
  • 网站的记住密码功能怎么做如何制作百度网页
  • 给公司做的东西放到自己网站上网站权重怎么查
  • 山东网站备案公司免费com域名申请注册
  • 成都网络优化网站seo优化软件
  • 廊坊网站建设推广服务nba哈登最新消息
  • 电脑本地网站建设百度云搜索引擎入口 百度网盘
  • 做网站的linux程序代码建网站用什么工具
  • 新疆生产建设兵团纪委网站同仁seo排名优化培训
  • 企业网站优化包括哪三个层面江苏搜索引擎优化
  • 北京怀柔网站制作今日军事新闻最新消息新闻报道
  • 自己建网站需要什么软件旅游新闻热点
  • 如何在建设银行网站查验回单东莞快速优化排名
  • 给自己家的公司做网站好做吗手机端百度收录入口
  • 个人网站制作视频建站软件
  • 南京做网站公司地点天猫店铺申请条件及费用
  • 设计网站哪个好用目前引流最好的app
  • wordpress替换seo百科
  • 福清建设局网站简介太原互联网推广公司
  • javascript和java班级优化大师app
  • 游戏模型外包网站百度竞价推广方案
  • 做店铺首页的网站百度推广售后