00:01
然后这个内容啊,给大家说明,咱们上午说到了这个定义方法的简写,就是把这个function可以省略啊,然后它的调用就是person一点,就是这个c hi,然后p2.chi可以调用,然后下面给大家来说,这个东西叫做对象扩展预算符啊,再来做个讲解,那这东西是什么,咱先大概看一下,然后咱们来详细给大家解释。就是这个写法大家来看啊,它的写法就是你写个括号,然后里边呢加上三个点啊,就这么一种写法,而这写法什么意思呢?咱在Java阶段应该学一个叫做可变参数,不是各位是否记得啊,这跟它长得一样,但是作用没有什么关系啊,只是长得像而已,而他的写法干什么?主要用于啊,就是做你的这个叫对象的拷贝或者对象复制,还一个叫对象合并啊,主要做这个的事情,那下面给大家我就来具体演示一下啊,看这个咱到底该怎么去用啊,咱直接看效果。
01:05
还是按照咱上午这个里边在这个位置,比如现在我再来创建这么一个文件,咱对应到第九个。就是这个叫对象扩展运算符,我们建一个还是HTML页面啊,这单创建,然后创建之后按照咱们Java写法里边写一个损汇标签,然后在词汇标签中写单代码啊,这个啊是我们要说到的。然后这过程中啊,有个小问题希望各位注意啊,大家来看啊,就是我现在比如说在里边写完代码之后,你看这个位置。大家来看啊,这里边是不是个黑点啊,这表示啊,我当前文件没保存,然后你点个CTRLS是不是就没那黑点了,表示保存啊,所以各位注意啊,你写完代码之后要记得保存,要不然啊,这个运行肯定它没有效果,因为没保存代码。虽然说它可以调成自动保存啊,但是我建议各位啊,养成这个好习惯,直接CTRLS,咱们每次写完之后保存一下啊,不要说你洗完之后还是黑点,然后你运行效果肯定没有,因为你没保存啊,这么一个小问题啊,然后咱们下面来直接看一下我们这个效果啊,那首先咱做第一个事情,先做一个叫对象的复制,或者说对象拷贝,也就是说啊,就是比如一会儿我们先写一个对象。
02:27
然后再写个对象,把这个对象的值赋值给这个对象,最后做输出,这个叫对象复制,或者说对象拷贝啊。那咱们下面来写一下啊,我们的第一个。就叫做对象复制,或者说对象拷贝,首先我们先来个对象,比如我叫这个。T1。定义一个对象,然后里边啊,肯定是我们那个KY6的那么一个结构。啊,比如说我写一个,第一个叫name,然后它的值我们叫这个Lucy,第二个是A,它的值是20,这是咱们定义的这么一个,就是对象叫PERSON1,那比如现在我想做件事情,我再来个对象调这个PERSON2,我想做什么事情呢?想把PERSON1中这个值复制到PERSONS2中,就是让P2跟PERSON1有相同内容。
03:25
这是我们要做的事情,那这怎么做呢?给大家说明啊,如果说啊,咱们按照原始方式,那我们肯定就是啊,把值取出来,按照这种写法给他再附进去,就是咱们上午写过,但是现在呢,不需要这么做了,然后一种比较简单的方式用就是用我们现在说这个叫对象扩展运算符来做到。那它的做法就是咱写个括号啊,据说是大括号里边加三个点,加上你那个PON1,它就会把PON1中内容赋值给这个P2啊,就这么来做,那我来写一下啊,加个大括号,然后加上三个点,加上你复制那个对象P1,这么做PERSON1中的内容就会赋值给这个PERSON2。
04:12
啊,就是这么一个写法,然后复制之后,最后比如说我们做一个输出,而这个console.logo。咱们输出一下啊,我就直接输出这个叫PERSON2,把这个我们做到,所以这样的话啊,咱们这么一执行PERSON2中就应该会有我们PERSON1中内容就是name Lucy age20,这就叫对象复制,用我们ES6的写法做到啊,所以大家把这写法给他知道啊。这是我们说的第一个啊,然后这个写完之后,咱们来执行看效果,现在我直接右键咱们把它打开,然后咱们打开控制台啊,但是大家会发现啊,目前已执行的他报了一个错误啊,他报了这个错。给大家拿过来啊,就这里边报了一个错误,那这个什么意思,给大家说明啊,首先我说明第一个咱的代码是没有错的,他为什么报错呢?啊,这是我特别想这么演示的,咱上午给大家曾经说过啊,咱看有一张图就我上午画的啊。
05:18
来看这张图。在我的这里边啊,这张笔记中就这个YES6中,咱上午曾经说了一个地方啊,就这句话,实际上我提到说这个ES6的浏览器兼容性很差,也就是说呢,如果说你用一些比较低版本浏览器,那有些ES6的代码是不能执行的,现在就这问题,因为我这个360,我是故意找的一个低版本专MT,所以他一执行这行代码他就不认识,所以它造成不能执行。但是不是咱代码错,是因为我浏览器我是故意找了一个B版本,那咱怎么做呢?咱换个浏览器,比如说把这个谷歌打开,这应该版本比较高啊,那咱用谷歌再来试一下,看下这个结果是怎么样的啊,我们来试一下啊,还是这个地址,我把它直接复制到谷歌里面来。
06:10
然后咱们回车啊,我们看控制台中。比如我重新刷新啊,大案控制台中大家看啊,现在这行一会写上,现在你看这句话是不是有输出了,就是咱们这个name是Lucy age是20,这个是可以了啊,所以证明咱可以输出,但是它下面有个错误啊,这是浏览器的问题,这错误是什么?就是跟我们没有影响啊,这叫404,它是什么意思呢?它就表示啊。大家看啊。就是你看我现在访问的这位置。是不是一个图标啊,他就告诉我们啊,这图标找不到啊,比如说咱随便打开一个百度。啊,比如3W点百度点com,你看百度访问这是不是一个图标,所以这个文件就告诉我们找图标找不到啊,当然对于我们这个运行没有影响,因为咱们值正常输出就是这个name Lucy edge20啊,包括比如你再摔几次,可能它就有了啊,就是这个结果出来了,所以这就叫对象复制,但是它的问题是什么呢?如果说你的浏览器版本比较低,你运行这句话不识别,它会报个错,所以咱找个高端浏览器运行没有错了,比如刚才我换成谷歌,一执行这就没有问题啊,但是执行中可能出现一个404说这找不到,这对我们运行没有影响啊,他说找不到这个图标。
07:31
因为咱们这个值是可以的啊,这就叫对象扩展运算符啊,这是我们说的第一个。各位啊,把它知道。然后这个说完之后,给大家再演示第二个操作,第一个叫对象复制。咱看第二个啊。它叫合并对象,什么叫合并对象呢?比如说你看我这个代码中,我定了两个对象,一个叫age,一个叫name,然后把两个对象想把两对象值啊,都分给P2,就是你写个对象扩展预算符,这是A对象,这是内部对象,然后两值合并到一起,构成咱的PS2啊,这是我们的第二个。
08:11
再给大家我也是快速演示一下啊,跟上面差不多,只是说你把两只可以布到一起去。我写第二个啊。这先出事。然后到这里边啊。加个注释,第二个咱做的叫对象的合并,比如说我现在写两个对象,第一个对象,比如我就叫name啊,然后里边我写值,比如来一个name啊,然后它的值,比如我叫Mary啊,这是第一个,然后第二个我就叫age。啊,就是name age,然后它里边age的值,比如写个20,这是咱们写的两个对象,里边就是有name和age,那我现在想做件事情,我想把两对象值都复制给那个P2,或者说咱们啊换个名字,比如我叫这个P2,都给P2,那怎么做呢?用这个对象扩展运算符还是加三个点,第一个叫name。
09:09
它表示把name值复制给这个P2,然后咱来一个逗号,再加上三个点,加上一个叫A,这表示把H值复制给这个P2,这两个叫合并到一起了啊,就这个写法,这是对象扩展运算符,合并的写法也是用三个点来实现。然后都写完之后啊,最后咱把它可以做这么一个最终的输出,我写一个console.logo。然后咱们加上一个T2就可以了啊,最终值就是你的name是Mary,然后age咱换一个啊,H是30,就是这么一个值。啊,这个啊是咱们写的对象合并,然后咱看效果啊,当然这里边要运行肯定还会报错,因为它浏览器版本比较低,咱找这个谷歌,现在我一刷新大家看。
10:01
Mary。30是不是可以了,是我刚才合并的这么两个对象的值啊,一个是麦,一个是30,所以这个我们就演出来了啊,它叫对象扩展运算符,就是加三个点,然后复制对象和还有这个合并对象。各位法律知道啊。咱们完成了这个操作啊。啊,然后这个我先保存一下。
我来说两句