Typescript学习笔记

ts学习

一. Typescript安装

在这里插入图片描述
在这里插入图片描述

二.Typescript demo练习

1.创建day3.ts文件

在这里插入图片描述
2.通过tsc day3.ts 命令把ts文件转换成js文件

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-EagXF3Gv-1656657656468)(image/image_3_DIeDvJuuQP.png)]

3.通过node编译生成的js文件

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-5f7ELL0e-1656657656469)(image/image_4_k4Q6e2Kh_B.png)]

三.Typescript基础类型

1.any:声明为any的变量可以赋值任意类型的值

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-GvR3bYrv-1656657656469)(image/image_5_G4Cf4CR9DR.png)]

2.number:双精度64位浮点值,可以用来表示整数和分数

3.string:字符系列,用‘’或“”来表示

4.boolean:逻辑值,true或false

5.数组类型:在元素类型后加[]

6.元组:各元素的类型不必相同,对应位置的类型需要相同

7.enum:枚举类型,用于定义数值集合

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-6OomDK4s-1656657656469)(image/image_6_NOgAOg7IgW.png)]

8.void:用于标识方法返回值的类型,表示该方法没有返回值

9.Null:表示对象缺失

10.Undefined:用于初始化变量为一个未定义的值

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-fSmM9wHE-1656657656470)(image/image_7_YdL44jRe9j.png)]

11.Never:是其他所有类型的子类型,代表从不会出现的值

四. Typescript变量声明

1.变量命名规则

可以包含字母和数字;除了_和$,不能包含其他特殊字符;不能以数字开头规则:var [变量名] : [类型] = 值;例如:var name : string = “lmj”;

2.如果只声明了变量的类型,没有初始值,会被默认设置成undefined

3.如果只设置了变量的初始值,没有声明类型,该变量可以是任意类型

4.如果只声明了变量,没有声明初始值和类型,那变量可以是任意类型,初始值为undefined

5.类型断言:可以手动指定一个值的类型,即允许变量从一个类型更改为另一个类型

语法格式:<类型>值

例如:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-FA1PLoKy-1656657656470)(image/image_8_zexKYgYirT.png)]

6.变量作用域,typescript有三种作用域,全局作用域,类作用域,局部作用域,例:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-57MgcavU-1656657656470)(image/image_9_xzp7whyNpN.png)]

五. Typescript运算符

1.算术运算符

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-vVJYxJkb-1656657656471)(image/image_10_0aaSYKxLfB.png)]

2.关系运算符

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-KPIWd0sh-1656657656471)(image/image_11_u_Y1R9nY8x.png)]

3.逻辑运算符

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-2KR91fSE-1656657656471)(image/image_12_n703u-AVmH.png)]

4.位运算符

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-XthcRjya-1656657656471)(image/image_13_JpR3LBsOn-.png)]

5.赋值运算符

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-5cfHs7Bl-1656657656472)(image/image_14_9pz4D7RFeL.png)]

6.类型运算符

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-JmZkCCHJ-1656657656472)(image/image_15_NAuSLM7pA6.png)]

六. Typescript 条件语句

  1. If语句,if…else…语句,if…else if…else…语句

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-KQ92vlLE-1656657656472)(image/image_16_2U86Ji9ks8.png)]

2. switch…case语句

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-A9MM8krZ-1656657656472)(image/image_17_1lH8m4qXI6.png)]

七. Typescript 循环

  1. for循环,例(计算5的阶乘)

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-yuEzXIbC-1656657656473)(image/image_18_031V-tmopO.png)]

2. for in循环用于一组值的集合或列表进行迭代输出

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-SREdkku5-1656657656473)(image/image_19_mb_RM1cby5.png)]

3. for…of 语句创建一个循环来迭代可迭代的对象。在 ES6 中引入的 for…of 循环,以替代 for…in 和forEach() ,并支持新的迭代协议,for…of 允许遍历 Arrays(数组), Strings(字符串), Maps(映射), Sets(集合)等可迭代的数据结构等

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-piF4flcN-1656657656473)(image/image_20_aSLAhH2Koi.png)]

4. while循环(计算5的阶乘)

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-79fDwyUP-1656657656473)(image/image_21_mrODE0m8wi.png)]

5. do while 循环

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-8H2EkcEu-1656657656474)(image/image_22_5zn81cOlml.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-aRoDlfmR-1656657656474)(image/image_23_LBzncxuYs_.png)]

6. break语句:出现在一个循环内时,会立刻跳出循环,执行循环的下一条语句,可以用于终止switch语句中的一个case

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-HcPUj75o-1656657656474)(image/image_24_Cufrmv7uVH.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-CKy99wMo-1656657656475)(image/image_25_SW0D-ZPAPy.png)]

  1. continue语句

会立刻跳出当前循环中的代码,执行下一次循环(例:输出1-10之间的奇数)

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-TduDzme3-1656657656475)(image/image_26_4qjlbZObng.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-4z9BWdVm-1656657656476)(image/image_27_fl4eOvN99W.png)]

八. Typescript函数

1.函数定义

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-2vQWIY5O-1656657656476)(image/image_28_UBdmf-t8sR.png)]

2. 调用函数

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-3FuL9eDG-1656657656476)(image/image_29_E2sJrGhYza.png)]

3. 带参数函数

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-b68joWHx-1656657656476)(image/image_30_JI8rBL6PoK.png)]

4. 可选参数,用?标识,传参的时候可选可不选

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-f4bJuFUs-1656657656477)(image/image_31_tlDFrORb_6.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-VGSwcVdP-1656657656477)(image/image_32_Sv0Ai5RenF.png)]

5. 默认参数

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-TqLkDcaB-1656657656477)(image/image_33_oxb6ri-XZe.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-B0AoBpfR-1656657656477)(image/image_34_d-3giStNTg.png)]

6. 剩余参数

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-5g7kM8x1-1656657656478)(image/image_35_8ucEA05_VY.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-jyiMjWcv-1656657656478)(image/image_36_l0SSw-jHJM.png)]

7. 匿名函数

没有函数名的函数,在程序运行时动态声明,可以将其赋值给一个变量,这种表达式称为函数表达式。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-C5hlxZ1d-1656657656478)(image/image_37_Leiej5onWy.png)]

8. 构造函数

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-thxBnflK-1656657656478)(image/image_38_0zYaMQwNtp.png)]

9. 递归函数

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-GfoXgSXh-1656657656479)(image/image_40_j46_Dtzvg6.png)]

10. Lambda函数(箭头函数)

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Q3CqdfQP-1656657656479)(image/image_41_vNF8OskXL2.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-aasXI43M-1656657656479)(image/image_42_H-DUuNkFwV.png)]

11. 函数重载

重载是方法名字相同,而参数不同,返回类型可以相同也可以不同。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-8eJy0Bse-1656657656479)(image/image_43_BOlYQd66JG.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-sHSiWlVw-1656657656480)(image/image_44_kNKs_KTi4g.png)]

九. Number对象

  1. number对象的属性

在这里插入图片描述

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-TvhGiYw7-1656657656480)(image/image_46_TMA8L_KZ8E.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-7YQyblKV-1656657656480)(image/image_47_BKmiiWQYci.png)]

Prototype属性(对象的静态属性)

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-zoiCjcWv-1656657656481)(image/image_48_-PHSFWmhoS.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-SRi882IW-1656657656481)(image/image_49_k0aRTKZQWl.png)]

2. number对象的方法

(1) toExponential(),把对象的值转换成指数计数法

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-iQ70Lvwo-1656657656481)(image/image_50_XX7uoxiirA.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-KX4Mh53S-1656657656481)(image/image_51_IStL_4I80Y.png)]

(2) toFixed(),把数字转换成字符串,并对小数点指定位数

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-QIj15L1L-1656657656481)(image/image_52_nBw18_NqX_.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-hqENCj9m-1656657656482)(image/image_53_cbZ-3LfFdR.png)]

(3) toLocaleString(),把数字转换成字符串,使用本地数字格式顺序

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-burkstXS-1656657656482)(image/image_54_Y5G7U7DtcZ.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-GaMYGskw-1656657656482)(image/image_55_gPFae-IDt1.png)]

(4) toPrecision(),把数字格式化为指定的长度

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-2aSr1SfR-1656657656482)(image/image_56_Z9GFjkqMVq.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-wsZRbNfA-1656657656483)(image/image_57_-IdwK0cWPZ.png)]

(5) toString(),把数字转换成字符串

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-1xnGC2IO-1656657656483)(image/image_58_u0srWDgecc.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-WvYNOcZ7-1656657656483)(image/image_59_UaSrRhBUVZ.png)]

(6)valueOf(),返回一个number对象的原始数字值

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-su0dJWfg-1656657656483)(image/image_60_qgdqTh9imk.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Yh5Z0h0B-1656657656484)(image/image_61_n2rSEzxhsX.png)]

十. typeScript String

string对象属性

  1. constructor,对创建该对象的函数的引用

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-3Qdy8zGW-1656657656484)(image/image_62_BZmToJ5gHp.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-TwIrWJjR-1656657656484)(image/image_63_0CfJ70TC-3.png)]

2. length,返回字符串的长度

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-G5Hcd7SH-1656657656484)(image/image_64_FGVhIje3HV.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-2VhJvQVJ-1656657656485)(image/image_65_n1rrYuB1pD.png)]

3. prototype,向对象添加静态属性和方法,跟 number的一样

string方法

(1) charAt(),返回在指定位置的字符

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-1fFDcxGE-1656657656485)(image/image_66_Eh5rQ2gkNk.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-RRxTcJfN-1656657656485)(image/image_67_S7LR0dueEw.png)]

(2)charCodeAt()

返回在指定的位置的字符的 Unicode 编码。

(3)concat(),连接两个或更多字符串,并返回新的字符串。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-MEF2fu57-1656657656485)(image/image_68_9YCisRsIVu.png)]

(4)indexOf()

返回某个指定的字符串值在字符串中首次出现的位置。

(5)lastIndexOf()

从后向前搜索字符串,并从起始位置(0)开始计算返回字符串最后出现的位置。

(6)localeCompare()

用本地特定的顺序来比较两个字符串。

(7)match()

查找找到一个或多个正则表达式的匹配。

(8)replace()

替换与正则表达式匹配的子串

(9)search()

检索与正则表达式相匹配的值

(10)slice()

提取字符串的片断,并在新的字符串中返回被提取的部分。

(11) split()

把字符串分割为子字符串数组。

(12)substr()

从起始索引号提取字符串中指定数目的字符。

(13)substring()

提取字符串中两个指定的索引号之间的字符。

(14)toLocaleLowerCase()

根据主机的语言环境把字符串转换为小写,只有几种语言(如土耳其语)具有地方特有的大小写映射。

(15)toLowerCase()

把字符串转换为小写。

(16)toUpperCase()

把字符串转换为大写。

(17)valueOf()

返回指定字符串对象的原始值。

十一. TypeScript array

声明数组的语法格式如下:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Ehert8G0-1656657656486)(image/image_69_ggXl-MszAo.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-uIk8YxiI-1656657656486)(image/image_70_0hmB3hj0sW.png)]

创建数组并访问元素

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-iqviHuOJ-1656657656486)(image/image_71_01FDG6qyJd.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-p88I9k7G-1656657656486)(image/image_72_aVbi53i_Nx.png)]

array对象

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-8oWyOohu-1656657656486)(image/image_73_dnU0NJNHin.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-zzPkSPrp-1656657656487)(image/image_74_zB3oldSK0k.png)]

数组解构

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-gnF7bFb6-1656657656487)(image/image_75_Kjx1ijxNIE.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-eI1GptUQ-1656657656487)(image/image_76_DM5ZmIuIN4.png)]

数组迭代

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-qXBFRvxK-1656657656487)(image/image_77_RruFa3uKI2.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-usPVGpu3-1656657656488)(image/image_78_VscuBrg2J_.png)]

多维数组

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-qXpx5e2q-1656657656488)(image/image_79_QAbbuB-Qys.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-kh8TJhCl-1656657656488)(image/image_80_XVhOflzRcy.png)]

数组方法

(1) concat(),链接两个或者多个数组

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-SUWT75yF-1656657656488)(image/image_81_zZ8-seowAv.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-nakpe9Hi-1656657656489)(image/image_82_mPzxMWz0Js.png)]

(2)every()

检测数值元素的每个元素是否都符合条件。

(3)filter()

检测数值元素,并返回符合条件所有元素的数组。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-FvIVhnds-1656657656489)(image/image_83_wJoGfKKKmx.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-3is5SPjM-1656657656489)(image/image_84_A5P1dwjIpK.png)]

(4)forEach()

数组每个元素都执行一次回调函数。

(5)indexOf()

搜索数组中的元素,并返回它所在的位置,如果搜索不到,返回值 -1,代表没有此项。

(6)join()

把数组的所有元素放入一个字符串。

(7)map()

通过指定函数处理数组的每个元素,并返回处理后的数组。

(8)pop()

删除数组的最后一个元素并返回删除的元素。

(9)push()

向数组的末尾添加一个或更多元素,并返回新的长度。

(10)reduce()

将数组元素计算为一个值(从左到右)。

(11)reduceRight()

将数组元素计算为一个值(从右到左)。

(12)reverse()

反转数组的元素顺序。

(13)shift()

删除并返回数组的第一个元素。

(14)slice()

选取数组的的一部分,并返回一个新数组。

(15)sort()

对数组的元素进行排序。

(16)splice()

从数组中添加或删除元素。

(17)toString()

把数组转换为字符串,并返回结果。

十二. Typescript map 对象

创建map

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-nZPNwXxo-1656657656490)(image/image_85_MOxYdhLssZ.png)]

map相关的函数与属性

(1)map.clear() – 移除 Map 对象的所有键/值对 。

(2)map.set() – 设置键值对,返回该 Map 对象。

(3)map.get() – 返回键对应的值,如果不存在,则返回 undefined。

(4)map.has() – 返回一个布尔值,用于判断 Map 中是否包含键对应的值。

(5)map.delete() – 删除 Map 中的元素,删除成功返回 true,失败返回 false。

(6)map.size – 返回 Map 对象键/值对的数量。

(7)map.keys() - 返回一个 Iterator 对象, 包含了 Map 对象中每个元素的键 。

(8)map.values() – 返回一个新的Iterator对象,包含了Map对象中每个元素的值

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-jF4G9LL4-1656657656490)(image/image_86_Lk2Dc_NvD5.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-1GIKaK0a-1656657656490)(image/image_87_Mjf4FIXWV7.png)]

十三. Typescript元组

  1. 数组中元素的数据类型都一般是相同的(any[] 类型的数组可以不同),如果存储的元素数据类型不同,则需要使用元组。创建元组的语法格式:

    var tuple_name = [value1,value2,value3,…value n]

  2. 创建并访问元素

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-aUOZJQjN-1656657656490)(image/image_88_gsZL_abi7W.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-u3k5memr-1656657656491)(image/image_89_Io_k0XklMm.png)]

元组运算

push() :向元组添加元素,添加在最后面。

pop():从元组中移除元素(最后一个),并返回移除的元素。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-yFN4Bqja-1656657656491)(image/image_90_yNjMZz8U6H.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ZadqCkI3-1656657656491)(image/image_91_STsuzQMwZy.png)]

解构元组

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-7ufLxEXc-1656657656491)(image/image_92_gXHdfNe8vF.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-RvlBvMY3-1656657656492)(image/image_93_F7a-0einbt.png)]

十四. 联合类型

可以通过管道(|)将变量设置多种类型,赋值时可以根据设置的类型来赋值

语法如下:type1|type2|type3

  1. 声明一个联合类型

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-yRNm5Y7j-1656657656492)(image/image_94_fdZU-xJ9me.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-X74pH6yx-1656657656492)(image/image_95_k19l-p6B-1.png)]

2. 联合类型可以作为函数参数使用

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Mgt0plLl-1656657656492)(image/image_96_CZxEC1K08p.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-WXDTbuBz-1656657656493)(image/image_97_utfG2l-VeY.png)]

3. 联合类型数组

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-71M4p349-1656657656493)(image/image_98_wsrZ5srJFH.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-gnlcMnUA-1656657656493)(image/image_99_8p0HTKzCT2.png)]

十五. Typescript接口

接口是一系列抽象方法的声明,是一些方法特征的集合,这些方法都应该是抽象的,需要由具体的类去实现,然后第三方就可以通过这组抽象方法调用,让具体的类执行具体的方法

  1. 定义一个person接口,定义两个变量man1和man2实现person接口的属性和方法

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-1aI1ofMS-1656657656493)(image/image_100_uT7NlbvsHy.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-rGvpWAbU-1656657656494)(image/image_101_VCRnqpQBcT.png)]

2. 联合类型和接口

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-BOo8RR3I-1656657656494)(image/image_102_LGG4riVsZj.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-LvmN27fq-1656657656494)(image/image_103_pN1x7ETZJz.png)]

3. 接口继承

接口继承就是说接口可以通过其他接口来扩展自己,Typescript 允许接口继承多个接口。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-2l0o2SFV-1656657656494)(image/image_104_7eSBsyRwdG.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-xSSqcxc6-1656657656495)(image/image_105_0LplJTAAjd.png)]

十六. Typescript类

TypeScript 是面向对象的 JavaScript。类描述了所创建的对象共同的属性和方法。TypeScript 支持面向对象的所有特性,比如 类、接口等

创建一个类

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-dVPZQVCb-1656657656495)(image/image_106_JeLBxyl5m8.png)]

创建实例化对象

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-l8jv0lbA-1656657656495)(image/image_107_xzYNCvbsIe.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-bc5aPW7Z-1656657656495)(image/image_108_7MQkpe9tfp.png)]

类的继承

Typescript一个 子类只能继承自一个父类,但可以多重继承

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-amIcUniW-1656657656496)(image/image_109_-zZ5RWMkC4.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-G0AnITdu-1656657656496)(image/image_110_WJpZremvwU.png)]

继承类的方法重写

类继承后,子类可以对父类的方法重新定义,这个过程称之为方法的重写。

其中 super 关键字是对父类的直接引用,该关键字可以引用父类的属性和方法。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-rZjvha9G-1656657656496)(image/image_111_EnPHdjzBzq.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-kudZJ5q7-1656657656496)(image/image_112_8JAhAuenmM.png)]

static关键字

static 关键字用于定义类的数据成员(属性和方法)为静态的,静态成员可以直接通过类名调用

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-288ihEK7-1656657656497)(image/image_113_iSkxMQz4VU.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-cUs4kjxG-1656657656498)(image/image_114_CA9SG5_AJa.png)]

instanceof运算符

instanceof 运算符用于判断对象是否是指定的类型,如果是返回 true,否则返回 false

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-H3Cu5wuI-1656657656498)(image/image_115_IHFJK1o-Rx.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Z1FPUcfd-1656657656498)(image/image_116_RTycOq6l4c.png)]

访问控制修饰符
  1. public(默认):公有,可以在任何地方被访问

  2. Protected:受保护,只能被自身或子类 访问

  3. Private:私有,只能被自身访问

十七. Typescript对象

对象是包含一组键值对的实例。 值可以是标量、函数、数组、对象等

对象实例

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-fATwHLvs-1656657656498)(image/image_117_ovGA1YLxuy.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-OcDYBFyP-1656657656499)(image/image_118_uINu6QHkLK.png)]

修改方法

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-XujKu6W7-1656657656499)(image/image_119_vd9I3kOuek.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ITcAxbvQ-1656657656499)(image/image_120_vTGwUpDXb_.png)]

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值