00:00
好,那么上节课的话,我们已经对这个TS一些这种基本的类型是吧,或者说比较简单的类型有一个最基本的了解了啊,像number啊,String bully字变量啊,I等等等等这些值啊,这些值,那么接下来的话,我们来看一下我们TS当中一些其他类型,我们今天要说的第一个就叫什么呢?叫做object object什么玩意儿啊,哎,Object我们都知道它是对象,哎,来,咱们也不废话了,我们直接来创建一个新的TS文件零四啊,我们还是说这个。在这儿呢,我们直接还是定一个变量light,一个A冒号,我们直接来一个object,那这个时候实际上就表示说我们声明这个变量A,它的类型是一个对象,换句话说,也就是A中只能用来保表示一个对象啊,Old表示一个什么呢?哎,表示一个GS对象,但是这个东西的话,实际上我们说它并不是那么的实用,对象是啥呀?对象我可以这么写,我直接来一个A等于一个大括号,这就是一个这个对象对吧,这就是一个对象,甚至说我直接来一个A等于一个这个,诶,Function function也是一个对象,所以为什么说它不实用呢?因为在GS里啊,它这个对象实在是太多了,一切都是对象,所以你整一个object以后,等于其实对他没有添加任何的一个限制,所以一般情况下,这个object我们在开发的时候是不去使用的啊,不去使用的,那这个时候问题就来了,不用它我们用什么呢?那其实。
01:36
我们再去限制一个这个对象的时候,我们更想限制的是什么呀?诶是对象当中它包含有哪些属性,而不是说去限制它是不是一个对象,那所以这个时候我们要去限制对象的话,其实我们可以怎么写呢?诶我可以直接来一个,比如说我来一个light let b后边我们直接写一个这个大块,那这个东西其实也是一样,那这个大块实际上也表示的是一个对象,我这么写也表示什么呢?哎,我这个变量币也要存储的是一个对象,但是你说那这个东西跟上边这有什么区别呢?诶区别就大了,这这个对象里边我们可以去指定我们的一些属性,比如说在这里我们添加一个name冒号,我们直接来一个string,那这表什么意思呢?它就表示说我B这个变量,它指向的得是一个对象,同时这个对象里得有一个内幕属性啊,内幕属性那。
02:36
这个时候如果我直接来一个B等于一个对象,哎,直接让B等于一个对象,这时候你看它是不是就有问题报错了,哎,你看什么错误。我们来看一下叫什么呀?哎,Property name is missing in ta,诶在这个对象里,也就是说他需要一个name幕属性,在这里他是不是没有找到这个内幕属性啊,诶所以这个时候我们就会发现你必须要写上这个内幕属性,然后随便给他一个值,值就无所谓了,但是值的类型,这写了值的类型是不是必须得是string啊,哎,String,所以这里面我们直接写一个孙悟空啊,这样一保存,这样才没问题,才不会说去报错,所以我们一般如果说你想去指定一个对象类型的话,一般我们要求就是想指定对象里边包含有哪些属性,那怎么做,我们就可以用这种形式啊,这种形式所以我们来写一下啊,它是干嘛的?哎,我们这个东西大括啊用来什么呢?诶,用来指定我们这个,诶对象中可以包含哪些属性,它的语法的话也很简单,就是一个这个大块。
03:45
大块,大块里边呢,我们可以写一个属性名,然后冒号我们来一个这个属性属性值啊,然后呢,后边你可以写多个啊,你可以写多个,因为我们这个项里面我可以写多个这个属性值嘛,啊多个属性值大概这么一个意思,那这个时候你用它的时候,你要注意啊,现在我们这儿指定这个对象里边只有一个name属性,你说我这老师我这儿还多了一个了一个A属性,我来什么呢?来了一个18,这个时候也不行,所以当我们通过他去指定的时候,一定注意他的要求,就是你的这个对象跟他的这个结构必须得是一模一样,差一点都不行,多了也不行,少了呢也不行,诶就这么一个事儿,那这里边怎么整啊,我现在就需要一个A,那怎么办呢?诶,那你可以在后边你加一个呗,来一个age冒号类型是一个number,哎就行了啊就行了,那这里面又说老师,我有时候我没有age。
04:45
我就有一个姓名没有age,但是问题又来了,我这既然把age写上了,你这赋值的时候又没有这个age,它是不是同样又会报错啊,哎,又会报错又不行了,那怎么整呢?我们可以在这个属性后边啊,我们加一个问号。
05:01
加一个问号,在属性名后边加一个问号,这表示什么意思呢?表示说我这个属性是可选的,也就是说诶有也行,没有呢也行,那这样的话,我们再写上A的话,它也就不会报错了,A我来一个18,你看它也不报错了,就是有也行,没有也行,所以在属性名后边加一个问号,表示的是可选属性。加上一个问号。表示我们这个属性是可选的啊,属性可选的好,那接下来我们再看,实际上它还存在一个小的问题,比如说我这来一个let CC的话,我们简单一点也是一个name,有一个什么呢?有一个string,那假设什么呢?我们其实要求我们这个C这个对象,它里边有一个name幕属性,有一个name幕属性,那我可以直接写一个C,等于我们来一个name,来一个猪八戒,诶我要求C里边有一个name幕属性,那其他的属性呢,不做要求,其他的剩下的所有属性都是有没有都行,你说我加一个A属性,OK,有没有有有也行,对吧,你说我加一个这个这个B属性,能不能加也能加,有没有都行,但是问题是现在如果我们这么设置的话,其实就变成什么呢?变成了说我们这C要求它是一个对象,对象里有且只有一个属性叫内幕,不能出现内幕以外的其他的任何属性,那这个时候是不是就有问。
06:34
问题了,哎,有什么问题啊,问题就是我们现在不能添加内幕以外的其他属性,那假如我具有这样一个需求,什么需求呢?诶,就是说我只要求有name,其他属性不做要求,其他的所有属性都是有没有都行,你说老师这简单直接写呗,A问号,诶,Number,哎,然后呢,我再来一个B问号,来一个number,诶这样不就行了吗?哎,行不行啊,哎,那就我们这个例子来说,的确可以,但是我如果还有一个属性叫C呢。
07:05
是不是又不行了,那我总不能把它所有的属性一个一个全都给它列出来吧,哎,这是不现实的,所以这里边我们可以怎么写呢?我们可以用一种方式来表示任意属性啊,任意属性啥意思呢?比如说在后边我加一个中号啊,中号这随便写一个啊,我们来一个这个什么呢?诶叫做一个prop,诶prop一个name叫什么呀,属性名,然后冒号来一个string这个这个东西啊,我们先写上啊,写上来冒号,我这再来一个,哎你哎你那这个加完以后啊,你看这是什么效果,现在我加完它以后,我后边加属性,我来一个age age是一个18,哎我再来一什么呢?来一个的的来一个难,你看他都不会再报错了,不会再报错了,但是如果我不写name。不写name,你看是不是又报错了,哎,又少了一个name属性,那这个玩意儿它表示什么意思?首先我们来说啊,这个中号里边这个prop name这是随便写的,你写啥都行,你写叉叉叉也行,它就是一个变量名,你写什么都行,那我写的话比较清楚一点,表示的是属性名,然后冒号写的是一个表示什么意思呢?我这个属性名的类型是字串,哎,你用过GS都知道,GS里边的属性名实际上就是一个字符串,所以这就表示一个什么呢?任意字符串的这个类型的一个属性名,只要是字符串类型的名,就都可以叫任意字符串的一个属性名,然后呢,这个是限制是属性名,这就表示什么意思,任意属性名,然后冒号I你表示什么意思,表示任意类型啊,任意类型,所以如果你这么写的话,其实就表示什么呢。
08:49
哎,表示任意类型的属性,那么意思,你说老师我这如果写个string呢,String那就要求什么呢?你这属性值必须得是字符串。
09:00
哎,必须得是字符串,就这么一个意思啊,所以这个时候其实你就记住了结论就完事了,什么结论呀,就是说白了,你如果在这个对象里你这么写了啊,这应该是I,你如果你在这个对象里这么写了,它就表示叫做可以有任意属性,所以我这么写这个对象,实际上它所表示的意思就是,诶,我要求我这个对象里得有一个内幕属性,其他的属性有啥我不管啊,我不管好,那这个就是我们说的一个这个对象啊,那这种方式啊不常用,但是我们下边这种方式我们可以用啊,它其实有点类似于是一个字面量的一个指定方式啊字面量,那接下来我们再说一个什么东西呢?还有一个其实和它稍微的有那么一点点类似,就是比如说我现在创建一个light,一个DD的话,我需要我希望它是一个什么呢?我希望它是一个函数,那你希望它是一个函数,你可以直接写一个这个function,但是我们说了它跟那个object的一个意思,如果我写的是一个function的话。
10:01
这个东西其实没有什么意义,那我希望的是什么呢?我希望的是限制这个D的函数的一个结构,啥结构呢?诶它有几个参数,哎,然后呢,它的返回值是什么类型呢?我是希望做这么一个限制,那这个时候可以怎么写呢?哎,我们在这儿的话,可以用一个类似于一个箭头函数这样一个结构怎么写呢?我直接来一个括号里边的话,我定义两个参数,然后我们这儿来一个什么呢?来一个箭头啊箭头我来一什么呢?来一个number啊,来一个number,那这块我A这话我也可以写一个number,诶然后的话B这话我也可以再写一个number,那这个的话其实就表什么呢?哎,表示说我们希望我这个D它是一个函数,那后边这个东西它是一个也是一个类型,声明什么意思?它的意思就是告诉你,诶,我希望这个D它的函数干嘛呢?有两个参数,而且两个参数的类型都是number同时返回值。
11:01
点是number,那这个时候我再给D赋值的时候,我直接来一个D等于function,注意啊,这个名儿无所谓,名儿无所谓名儿叫什么都行,所以我在这儿我写一个,我写一个N1逗号来一个N2啊A型都是number,然后呢,在这儿我们直接来一个return,一个N1,加上一个N2,你看这个时候它的类型是不是自动就给我写上了啊,写上了那你这儿如果我这显示的写一个number,这样也可以啊,这样也可以,就等于它这里边我们类型就都有限定了,但是注意现在我这么写是没有问题的,为什么呢?因为我这个函数的结构是符合我上边所定义的这个函数,你看两个参数嘛,两个参数一个反应值,但是如果我说再加一个,我加了一个三个参数。三个参数,这时候你看这个红色的这个波浪线是不是又哎都浪浪出来了,诶那这个是为什么,就是因为人家给你写了嘛,让你写俩参数,好,你写了三个参数说不对了,哎不一样了,或者说你说我这改一下吧,我这改成这个string。
12:05
我把这个类型呢,我直接我显示的写上冒号,我们来一个string,这儿呢,我也显示的写上我也来一个冒号,来一个string,那这个时候它实际上也会报错,你这即使返回的是数字,我反应的时,它际上也会报一个错,为什么呀?哎,人家参数的类型不一样,它需要的是number,而我们传的是一个string,所以等于说其实我们是用这种类似于箭头函数的一个形式来干嘛呢?哎,来设置我们这个哎函数的一个结构的类型声明。类型说明他是怎么写的,我们来说语法,语法呢就是括号,括号第一个是我们的行参,然后冒号是我们这个类型,然后呢,逗号你可以接着写这个行参,然后有这个类型,后边的话,箭头是我们这个返回值,当然我们这个行参你是可以写多个啊,可以写多个,写省略号,那这个的话其实是用来定义我们这个函数的结构的,好两个东西啊,一个像我们这种形式是用来定义我们对象的结构的,那么这种形式呢,是用来定义我们这个函数的结构的啊,两种方式都不难啊,都不难,但是语法的话,你就需要记一下就完事了,所以像学这种东西的话,TS这种东西我们学它其实主要就是在学它的一些这个基本的一个语法,把语法搞定了,后边就都简单了,但是其实学语法的话,难点就在于有的时候你觉得这东西很别扭,为什么别扭呢?因为你是第一次接触它,你不习惯这个东西,所以你会觉得别扭。所以在学语法的。
13:41
时候真的学语法没有什么技巧而言,学语法就是什么呢?就是记啊,我怎么讲你就怎么记,把它记住了,然后多写两遍,写个三遍,五遍,十遍八遍,不嫌多啊,多写两遍,把它记住了,把它这个哎捋顺了就OK了啊,很简单,其实啊,然后再往下看呢,我们下边还有什么玩意。
14:02
哎,刚才我们说了object下边我们还有三个是吧?诶再说这个东西叫做一个arra array叫什么呀?诶AR我们很熟悉了,它叫做一个数组啊数组数组的话在我们的这个GS里边也是一个,诶也是一个非常非常常用的一个类型,在这我们来看一下,那比如说我这想声明一个let,一个E,我希望E呢是一个数组,那我可以怎么写呢?哎,那这个时候我们可以这么写,那你需要说数组的话,我们就要区分一下这个数组里边存的这个值是什么,我们如果你学过GS的话,你会知道,其实在GS里的数组的话,默认是没有类型的概念的,换句话说,数组里你想存什么都行,但是这种数组的话,在我们开发中,实际上它的这个体验并不是很好,因为如果我们数组里什么类型的值都存的话,那么这个数组实际上它的处理起来会有点麻烦,或者说它的存储性能并不是特别的好,所以一般我们在开发中,我们这一个数组都是来存储什么呢?相同类型的值,诶我要存字符串,我这数组里全都是字符串,我要存数字的话,我这个数组里全都是数字,都是一个类型的值,所以这个时候我们要声明数组说明什么呢?声明的是什么类型的数组?比如说我写一个string string,我后边加一个中号,这表什么意思呢?哎,String中。
15:29
串表示表示字符串数组,换句话说希望什么?希望我们这个E,它是一个数组,并且数组里存的都是字符串,所以这个时候我们在赋值的时候,我这直接来一个A,诶来一个B,来一个C,你看这都是没问题的,是不是都是字符串,但是你说我放个一放个二是不是就不行了啊,因为这不是字符串啊,不是字符串了,那你说我想放数字怎么办?数字呢?我们来一个light,一个F冒号,我们来什么呀?Number中号,所以其实你想整什么类型的数组,那就是什么类型,后边加上一个中括号就行啊,Number中号后这表什么呢?哎,表示我们数数值的速度。
16:17
数值的一个数组啊,Number类型的数组,那这是一种表示方式,还可以怎么办呢?还可以我们直接来一个light,一个G,我们来什么呢?哎,我们来一个这个array array后边我来一个间括号,我来什么呢?哎,我也写一个number,那这个东西也表示什么呢?它跟我们上边那个number中号的意思是一样的,都是表示数值类型的数组,换句话说的话,就是它里边也是可以存数字的,哎,直接G等于中号123,这都没问题,但是你说我来个哈吧。Hello,是不是就不行了,哎,就不行了啊,这个是我们说的一个,诶类型的数组,这个比较简单啊,比较简单,那你说老师我就还想整一个任意类型的,哎,啥都行啊,任意类型你就写埃呗,对吧,就写埃就可以了啊好,那这但是啊不建议写埃,还是那句话,我们尽量把这个类型给他明确了,埃这个东西能不用,咱们还是尽量不要去使用它啊,尽量不要去使用它,好数组的话,我们就说这么多了,两种表达方式啊,我们来说一下数组。
17:25
数组的类型声明两种方式,一种是类型后边,类型后边加中号,还有一种的话就是我们这个。监块里边写类型啊,这两种表示方式。好,那我们接下来再看的话,数组以外的话,那下边啊,上边这几种类型,那我们说白了,其实在GS里都有啊,当然和这个我们就不说了,其他这几种类型实际上在GS里边都能找到我们这个一一对应的,但是在TS当中呢,它实际上除了说保留了我们GS里原有的类型,它还对我们GS本身的这个类型做了一个扩展,比如说它具有一个类型叫做什么意思,Taper,我们叫做元组,元组是什么东西,元组这个东西在我们GS里它是没有这个概念的,元组是什么呢?其实也好理解,元祖,元祖。
18:30
哎,就是这个固定长度的数组,哎,那我们数组的长度是可变的,你想加十个加加加100个,加1000个,加1万个都行对吧?但是呢,元组的特点就是它的长度是固定的,诶我这里边两个元素,那它只有两个元素,多了也不行,少了也不行,就是固定这个长度的数组,元组跟数组的区别就是其实元组的话存储效率会比较好一点,因为它的长度固定,它的变化的机会会少一点,所以它的效率会好一点,所以什么时候用元组,就是当你的这个这个这个数组里边的值是固定的,就是数量是固定的,其实用元组是最好的选择。元组怎么写元组,哎,我直接写个HH,怎么写呢?我们可以直接写一个中号,我来一个string,来一个什么呢?来一个string,我可以这么写,那这个就表示说我创建我定义了一个元组,那在这个元组里边呢,哎,有两个值,两个值,第一个值的类型是string,第二。
19:31
这个类型的值呢,还是死string,所以这里边我如果写一个H等于中号,我写一个哈,我再写一个这个ABC,你看这样我写完了是没有问题的,诶因为这个是不是跟我们上边这个类型是不是一一对应,哎一一对应,但是我这如果加一个,我加一个123,你看是不是又出问题了,哎为什么出问题了,哎,因为我这儿是不是需要两个呀,但是你给了三个啊,给了三个好,我删一个,我删俩啊删俩生一个。
20:00
剩一个我们看是不是也不行啊,哎,也不行,人家需要两个,你给了一个也不行,那我这再写一个,我写一个123,我写一个123,诶123也不行了,为什么也不行了,因为我们需要的是一个string,还有一个string,你这是一个string,一个number是不是也不对呀?哎,那你可以把这个类型换成一个number就完事了啊,所以这个就叫做一个元组,就是一个固定长度的一个数组啊,它就是你说写两个就写两个,就是它它它就不能再去多加元素啊,也不能说这个类型不对啊,也不能说类型不对,好,那这个就是说的一个元素。元组啊语法是什么语法呢,就是中号,然后呢类型。哎,逗号,然后呢,类型你想写几个你就写几个,但是这容西一般不会特别长,特别长了以后的话啊,那最好就直接就用这个数组了啊好,这个是我们说的一个元组啊,元组元组往下再看我们下边一个类型叫做那那叫做一个枚举,枚举的话在我们的TS里,GS里边也没有,它也是我们这个,这个叫什么呀?叫做一个TS新增的叫做一个枚举,枚举是干嘛的,枚举的话,其实最典型的一个应用就是我们再去处理一些数据的时候,我们经常需要,哎有一些数据呀,哎,比如说像我们说人。
21:24
人的这个叫什么呀?有这个性别啊,性别性别有这个男呀,有这个女,比如说我这直接来一个light,一个这个爱,然后冒号我们来一个大块,我们来一个name name类型呢是string,然后呢,我们来一个这个粘沾nder的这个类型呢,我们叫做一个这个哎叫做一个这个string啊string,那我们直接来一个I,等于大块来一个name name的值呢是孙悟空。再来一个gender呢,Gender我们来一个什么呢?来一个这个难啊难,你写难也行,或者你写这个mail也行,但是我们说一下,其实我们在开发的时候的话,我们一般不会这么去存这个东西,一般不会这么去存,为什么呢?因为我们存这个值的目的是什么?存这个值的目的其实就是诶来能判断出我这个对象到底是男呢还是女,所以我要想判断他是男还是女的话,我可以用一个什么呢?爱点一个粘的等等于男,我可以这么去判断啊,我可以这么去判断,然后打印结果,我是不是就能判断他他的这个性别了,但是我们再去存难也好,或者你说我我我不存难,我存的是一个ma,它都是一个字符串,那字符串来说的话,它其实相对来说,它要存到我们数据库里,存的会比较的,相对来说啊,会比较大一点,所以一般我们存数据的时候,我们希望我们存的这些数据尽可能的小,而且像粘的这种东西。
22:51
它的值基本上是固定的,哎,两个值要么是男,要么是女,可能还有一种就是不祥或者是保密之类的,一个值,你三个值怎么着也都搞定,诶都搞定了,所以像这种它的值在一定范围之内的,一般我们就怎么办呢?我可以不写男女,我可以干嘛呢?它的类型我直接改成一个number number什么意思,那我就可以直接写一个零,哎,比如说零是女的,哎一呢是一个男生,那我在判断的时候,我就可以直接判断它等等于一啊,还是等等于零,我直接这样去判断是不是就OK了,所以一般像这种,诶,就是在几个值之间去选的值啊,我们就可以固定一个范围,比如说在这我就可以写零,哎,零或什么呢?或一,哎,零或一,也就说你它的值有可能是零,或者有可能是一,就是在这两个值之间,你是一也行,是零也行,你说我这来个二吧,二就不行了啊,二就不行了,就这么一个意思,但是呢,我这么写的话也。
23:51
会有一个问题,什么问题呢,就是。我写零和一以后,我们这个值是需要最后给别人去拿过去去去判断的,对吧,去判断的,但是呢,这个时候他要想去判断的话,对于我们来说,其实就带来一个问题,哎,我们设定的女生是零,男生是一,我们设定的我们知道。
24:16
但是这个值是不是一定是我们自己用。哎,不一定有可能这个值是不是别人要去判断,比如说我这个数据交给别的人了,别的程序里他要判断,诶这个东西是男还是女,那他知道零是男还是一是男吗。哎,他并不知道,所以这个时候的话,我们就可以用到这个枚举,枚举是干嘛的,就是把我们这些所有的可能的情况全都给我们列出来,哎,你也就甭管什么零和一了,它会专门有一个枚举类,这个类干嘛呢?在它里边就去给我们存储什么呢?诶存储这个具体的一个性别,我们来看一下啊,这个枚举我们怎么写,我可以直接啊,那这个东西我们要定义这个枚举的话,我们就需要先用这个引纳开头表示什么呢?表示我们在这儿啊,定义了一个枚举,但这个枚举的话,后边我们要跟一个名字je,那表示什么意思呢?诶,我们要定义这个枚举叫做一个这个詹的,诶,那这个意义的话,我们应该是一个小写的一啊,小写意in,那么我们定一个枚举的类,这个类的名呢,叫做一个粘的后边直接跟一个大块,大块里边写什么,那你就要看你有哪些值啊,比如说我有一个男的值,还有一个什么呢?还有一个女的值,我来一个female啊,Female female,那这样我直接写。
25:35
转完就OK了,那这样我们就定义好了一个枚举类,那这表什么意思,表示说我这个类,这个枚举这个类型叫什么呢?叫沾nder,粘nder里边有两个值,一个叫ma,一个叫female,当然我们看这儿啊,后边等于零等于一,这个是我们web自动给我们补全的实际结果也是这这个情况,但是这个东西我们其实不用考虑,你说mail是零啊,还是非mail是零,在这儿的话,其实根本就不重要,那你说老师不重要,那我们怎么用啊,诶我用的时候可以干嘛呢?哎,我粘这儿我就不写零或一了,我直接写什么呢?它的类型呢,就是一个粘,诶我这个粘nder,它的类型就是一个粘的,那我在设置性别的时候呢,哎,那比如说你说了,我希望这个孙悟空他是男的,那我就可以直接写一个粘的点一个ma,这就表示悟空是一个的,实际上这个值啊,在我们的TTS转的时候,Ma就给你转成零了,就给你成一了,实际上它也是零和一,但是好处就什么。
26:35
好处就是这个玩意儿我一看我是不是就知道他是男呀,哎,这个玩意儿我一看我就知道他是男,然后在这儿我判断的时候也是一样,我就可以直接怎么判断,我就不判断等等一了,我直接判断占的等等于占点没有,诶就是看你这个性别是不是等等于它,我这样一判断,诶你看它是零还是一,对我来说重不重要了就不重要了,爱是啥是啥,爱是啥是啥,我就直接去判断就完事了,因为我们这个东西是不是值已经在这个粘的里边存了,所以这里边我们可以运行一下啊,我来对它进行一个编译,Tsc,我们这个04type.ts。
27:14
编译啊,我在这引一下啊,重新引一下零四,我们这个tap点一个GS啊,我们得引GS文件引,引完了以后在这儿我们直接来打开这儿,我一刷新走一个,哎是不是就返回的是一个处啊,哎,告诉我什么玩意儿啊,哎,你这个他确实是个男的啊,确实是个男的就完事了,所以其实就像我们去设置一些这种,诶,就是多个值,我这个结果是在多个值之间进行选择的时候,就适合用这个枚举,诶我跟你说老师你刚才不是说男的是一,女的是零吗?那这个东西我们整完了以后,我能不能自已定义啊,其实一般不需要男的是一还是女的是一,这个问题其实不重要啊,其实不重要爱是啥是啥,只要统一了就行了,但是你说老师我就想指定,我就想男的是一,那你后边你可以手动写上,没有等于一。
28:04
诶,那female呢,诶female干嘛呢?诶等于一个,诶等于一个零,你手动写上也行,但是没必要这么写呢,就有点就有点麻烦了啊有点麻烦了,好,那这个呢,就是我们说的一个粘的一个枚举类,就是把我们所有的可能的情况给它一个一个的列出来,这也是我们在这个GSTS当中有的在GS当中并不具有这个这个东西。好,那这里边的话就是我们说的一些,我们这个这个这个叫做一个类型啊类型,那基本上我们这个常见的类型,在这一块我们就都给他去涵盖了,当然后边还有一些更高级的用法,我们还要再去说啊,那就说,但是现在的话,我们先把这些类型给他了解一下,然后再补充一个问题,就是什么呢?诶之前的话我们说到一个东西。哎,说到一个东西,说到一个什么呢?我们说到一个,我们两个类型之间,我们可以用一个哎或去连接,我们来一个let,一个接接我们来什么呢?哎,我们来一个这个,比如说我来一个这个string啊string我来一个或一个什么呢?Number,那这个时候它就表示什么意思呢?表示说我们这个接的类型是string或者是number啊或者是number,那其实我们这儿也可以用什么呢?也可以用一个and符来连接啊,And连接,那string and number表示什么意思呢?哎,表示且的意思。
29:31
And表示什么呢?表示且,表示同时啊,表示同时就是语的意思啊,就是语的意思,所以我这如果写了一个and的话,就表示什么呢?哎,我这个接的类型既是四准又是number这么一个意思,但是啊,我这么写一点意义都没有,为啥没有意义呢?你怎么可能,我一个类型既是死string,它又是number,不可能满足这种情况,所以这么写本身就是一个就是一个错误的啊,就是一个错误的,那我怎么那那你说老师错误的,你干嘛这么写呀,哎,我们先说明一下,有这个东西,那他怎么用,它其实这么用的在这儿呢,我可以写一个啊,写一个name,我们来一什么呢?哎,来一个string,这里面我们I呢,来一个什么呢?来一个age age呢,我来一个什么呢?来一个number啊来一个number,那这个就表示什么呢?我这个接两种类型之间句行句语什么意思,也就是我这个接既要满足这个对象,又要满足这个对象,也就是我这个街里边要name和A2个值接,等于你看啊,我直接写一个name name来一个孙悟空,你看不满足,为什么不满足啊,人家给你写了,少了什么?
30:49
哎,是不是你少了这个age啊,哎,少了还是不是需要一个age这个类型啊,所以你后边你还得再加上这个什么呀,加上这个age,所以这个时候你写完了以后,诶别number啊,写一个18,那就表示什么意思,哎,我这个对象里得同时有两个这个值,就是这两个对象我都得满足,所以and的话是在这个地方用的啊,在这个地方用的可以用来连接两个对象啊,或和与或就是哎满足任意一个就行,而与的话就是两个得同时满足啊,但是这个雨的话,你前后就不要写什么string啊,写什么number就行了啊,然后最后一个,最后一个就是什么呢?最后一个就是我们说的一个类型的一个别名,什么叫类型的别名啊,类型别名比如说啊,比如说我现在整一个东西什么呢。
31:37
我有这样一个类型,哎,Light,我们来一个KK等于什么呢?诶K的类型我给它设置是这种情况啊,是一或二哎或三。或四,哎或五也就是什么意思呢?我这个K的值在12345这几个值的范围之内啊,一也行,二也行,三也行,四也行,五也行,哎,那我们说了,哎,我这还有一个直角LL的范围呢,跟它K是一样的。
32:06
跟K是一样的,那这个时候你会发现就很麻烦了,首先我这个类型它本身很长很长,二一个我这个类型我要重复的去使用很麻烦,对吧,很麻烦,所以这个时候呢,我们可以给这个类型啊起一个别名,啥意思?比如说我在这儿我们直接来一个,诶我直接来一个这个tap等于,诶tap等于什么呢?诶tap我们直接来写一个这个写个名是吧,前面是一个,后边不写一名,比如说我就叫一个my type my type my type让它等于一什么呢?等于一个这个string,那这样我们就等于创建了一个类型别名,这啥意思呀?就是给我们string这个类型起了一个别名叫买type,那现在买type和string就是等价的,我可以用什么呢?诶我可以用这个这个买type。代替死string,所以我在这直接来一个M冒号,我们直接写一个my type,那这个时候注意啊,你看这M的类型,M的类型实际上就跟死string是一样的,哎,就等于我给这个死string它起了一个别名啊,起了个名名,我可以用mytime去代替死string,那当然我们说给string起别名没有什么意义,那怎么办呢?哎,像我们刚才说这个,你这类型是不是特别长啊,哎,特别长你可以给它起个别名,哎,你一或二或三或四或五,它的别名叫做买type,所以这时候K的话,你后边你就可以写买type,哎L这呢,你也可以写这个买type,你后边M用你也可以写买type,那这样我们直接用这个买tab是不是就比我们这个要。
33:42
要省事多了,哎,要省事多了,那我们用的时候也是一样,你看啊,我来一个KK等于一。没有问题,K等于五也没有问题,我来K等于六六是不是就有问题了啊,有问题了啊,这个叫做一个类型的别名,它可以简化我们这个类型的一个使用啊,类型的使用好,那么关于我们这个类型的知识呢,就先说这么多,先说这么多,那这些东西的话,就是我们TS里边的最基本的类型相关的一个内容,最基本的实际上它也是用的最多的,所以这一块千万别觉得说哎呀好麻烦,其实挺简单的是吧,但是稍微的内容会有点多,千万别觉得麻烦就不去看它,把这块内容一定要好好的去整理整理,因为后边这些东西我们是要反复去用,反复去说的。好,这节课我们先说这么多,停一下。
我来说两句