00:00
我们再来体会一个特性结构表达式,什么是结构表达式呢?来创建一个文件,好,那在这里来说点HTML shift叹号来生成模板,好,我们在这script先来写一段脚本,来我们呢以后都使用let来生明变量,比如呢,我们这有一个数组,A里边的值呢是123,我现在呢想把一付给A,二付给B,三付给C,那我们以前呢,可能是这么来写的,A等于A数组里边的第零个零。然后呢,同样B是一。C是二。我们来在控制台打印一下他们conso.log好ABC一起打印ABC,我们来运行一下右键open位live server来F12看一下控制台,好123呢确定能打印出来,但这样呢太麻烦了,那接下来呢,新的语法是什么样呢?我们可以这么来做,我们直接可以来写一个这样子的叫cost,哎,或者cost或者let都行,我们呢给它们ABC负个值,来来这样写let,我呢写了一个数组,我写了一个ABC,意思呢,这个数组里边三个变量ABC,它们的值是什么呢?让你自个儿把这个AR里边的值付给他们就行了,我来保存。那现在来看,这同样打印123没问题,这就叫结构表达式,能快速的呢,将我们这个里边的内容给我们复制到我们指定的这些变量上,这个呢,是我们说的数组结构。
01:45
当然还有我们这个对象结构。再来举一个例子。我们在这儿批注一下数组结构,这样呢就会非常方便来,那现在呢,再来看一个对象结构,比如呢,我们这有一个常量,诶,我们用cost声明了一个常量out shift f,我们代码整理一下好,这个常量里边呢,Person里边有name,有edge以及有language这三个属性,我们呢,假设现在呢,我们想要用name edge和language,那我们以前呢,是这么来做的。
02:19
相当于呢,将person里边的name赋值给我们的name,将我们person里边的H又赋值给H,然后再将person里边的language赋给值我们的language,这样呢,我们得手动的提取出对象里边每一个属性,然后呢,我们想看了再来打印都可以consl.log,好,我们呢,把这三个值都来打印一下,有name,有age,有language,这是我们以前的做法,我们来保存在这看,诶,JACK211个数组没问题,当然呢,这样太麻烦了,对象里边的东西如果特别多的话,怎么办呢?好,我把它注掉,那现在的语法呢,我们可以这么来写,比如我写一个cost cost呢,还是一个像对象的方式一样,来,我们来写一个cost,直接写一个大括号代表呢,我这一个要解构一个对象,把它里边的什么属性都解出来,把它的name属性拿出来,Age属性拿出来和。
03:19
Language属性拿出来,从哪个对象里边拿,从person这个对象里边拿,我直接一保存,这样的话呢,Name edge language这三个变量呢,就自动的从percent里边取到present name percent edge percent language拿到我们这个值,这就是我们说的对象结构。而且呢,还有一种比较好的做法,比如呢,我们这个内幕啊。默认的这个变量名就叫name,我不想叫name了,我想叫ABC,那怎么写呢?我们写一个name冒号ABC,那name的意思呢,就是从person里边解出name的值赋给ABC,那这样呢,我们在这打印ABC就可以了,我们来保存一下,那么在这看ABC照样是Jack,没问题,这就是我们说的解构表达式,合理的使用就能减少我们很多的代码,那我们再来呢,在这来看一个我们叫字符串扩展,在我们这个ES6里边,诶给字符串又加了好几个API,比如我们来举一个例子,叫include start with end with等等,好,我把这一段代码复制过来来。
04:27
了解一下就行了,好,现在呢,我们声明了一个变量叫string,它呢叫hello,点5U,那我们来打印一下,第一个是我们string有一个方法S tr.start with,判断它是不是以什么开始的,我们是以hello开始的,所以它会打印出第二个我们调了咱们这个字符串的end位以什么结束的,诶是1.5U结束的,也是true,包括呢叫in close是不是包含什么,我们这包含E,诶它打印也是true,包括in close,包含hello,诶打印的也是处,我们看控制台出处出处好没问题,这就是几个扩展的API,而且呢,我们再来看一个字符串的这个,我们叫字符串模板,这个是做什么的呢?我们来想象一下,以前我们声明一大长串字符串的时候呢,哎,挺麻烦的,现在我们想要声明一个多行字符串,非常简单,这么来声明,这样呢,直接有两个反引号,这个反引号呢,那就是大家的这一块来给大家找一下。
05:28
我来打开屏幕键盘。就是我们这个位置的东西,诶,我们直接用反引号来括起来我们很长的字符串,那如果以前要做这个这种事情啊,我们可能要拼串非常麻烦,所以呢,现在有了这个,那很简单了,Lett,我们比如想声明一段,它CTRLC,我来复制SS,那等于什么呢?如果以前用这种方式,那很麻烦,哎,我们现在呢,把双引号变成标号,诶这两个反引号,然后呢,给它中间直接复制,这就是一大段字符串,Console log在控制台打印一下。
06:06
好,SS来看一下效果,这个SS呢,哎,我们看打印到控制台,包括他们中间的空格也都算好,然后呢,这是我们说的字符串模板,而字符串里边呢,还给我们提供了一些功能,比如我们叫差值,来我把这个给大家测一下。比如说呢,我们给字符串里边可以插入变量以及表达式,我们可以用Dollar符大括号来做,诶这能完成什么功能呢?我们来看一个效果,比如呢,我们这有一个字符串叫我是谁谁谁,哎,我是谁,今年多少岁了?只不过这个名字和年龄呢,我们以前有,我们想用以前的,诶正好以前这ABC是名字,那么就可以当了幅大括号,ABC多少岁呢?我们这个年龄,这我们写一个H,这样呢,我们可以打印一下conso.log,它呢就会自动的取出,诶前边声明的这两个值ABC以及H来看一下,诶我是jacknk,今年21,我们这个ABC呢,是刚才结构出来取的这个Jack,好,这是我们说的这个给字符串里边插入变量,包括呢也能插入表达式,比如呢,我们这个H,我想给它加十岁,咱们写个加时也是没啥问题的,来我们来写一下加时保存我们看到。
07:26
到呢,现在就变成31岁了,哎,表达式也可以,包括呢,我们调方法都行,比如我们来举一个例子,我们这声明了一个方法,诶,我来在这呢声明了一个方法。然后呢,我今年多少岁了,然后我们再来说一下,哎,我想说,哎,我想说一句话,这句话是什么呢?我们来把它提取到下边吧,这句话呢,我们把这个方法调来,让这个方法的返回值作为这句话,那么就可以Dollar符大括号。直接呢,Function这个方法一表来,我们来保存看控制台,诶,我Jack今年31,我想说这是一个函数,诶这没问题,这就是我们说的字符串里边的一些操作,可以用do大括号动态取出以前生命的变量,来这来声明一大段的字符串模板。
我来说两句