00:00
Hello,大家好,那我呢是风雨啊,咱们又见面了,那我们这节课呢,来聊一下我们的对象吧,那对象这个东西呢,我相信呃,大家都不陌生对吧?诶用的都比较多了,那么其实大家可能没有看过ES6的话是不知道啊,咱们ES6呢,对这个对象呢,也做出了一些写法上的小小的调整,其实他这个写法呢,跟ES5的传统写法啊,并没有什么区别啊,跟正规的这种Jason对象的形式的写法没有什么意,从意义上来说啊,没有什么,没有什么太大的这个区别啊,就是从这个外观上看起来,在我们书写的过程中呢,呃,感觉有了一点小小的变化,那我们来看一下,首先。比如说我们来讲第一个,第一个比如说这地方有个name啊,名字呢,我们来给他个值啊,给他个值,比如说叫做风雨。第一个我们再来第二个,第二个叫做age age呢我给他个18岁对吧,我今年18岁了,那么这个时候,那如果说我有个对象,那这个对象呢,它需要到这两个值的时候怎么办呢。
01:06
我们总不能把这个name啊,这个地方也写过来是吧,再把它的值给搬过来了,对吧,不需要是吧,我们可以创建一个在对象上面创建个name属性,然后呢,把这个变量的值给它扔过来就可以了,那当我们使用变量的时候,其实本质上就是使用它的值对不对,那这样你看它这个内蒙是谁啊。这个name是我们这个obj的属性,这个name呢,是外层的变量是吧?那你使用变量相当于使用值,所以相当于把这个它的这个字符串啊值呢搬到这来了,那就相当于这个OBJ下面有一个叫做内蒙的属性啊值就是风雨对吧?那同时呢,它还有一个A是吧?那这个值呢,也是我们的AGE18岁,哎,然后最后介绍完自己呢,我还得跟大家打声招呼,对吧,那我来个c hello是吧,大家好,那这时候呢,他呢可能说是一个方法,那么来个方程。那当我们方法执行的时候呢,我们就输入一个hello就可以了啊,输入个hello就可以了,那这个时候呢,我们这个对象已经创建完了,那我们来输出一下它来,使用一下它来,比如说我们先来一个来输出一下我们的这个名字对吧?来保存啊风雨18岁对吧?通过对象点上属性名就可以了,那这个方法呢,这个方法要执行呢,咱们可以通过对象直接点上我们的方法名来括号执行就可以了,是吧?哈,没有问题,那这些呢,是我们呃常见的这个对象的写法啊写法那其实。
02:32
在我们的ES6里面呢,诶对这种写法呢,做了一点小小的调整,我们来看一下,那首先这个name呢,我们说了,它是这个OG里边的属性,那这个呢,是外层的变量,那么我们会发现这个对象OJ下面有个内属性,那它的值呢,其实同时还是一个name,对不对?那像这种对象的属性名跟它的值长得一样的时候呢,诶可以换种方式来写了,我们来看一下,比如let一个OJ,那这个OJ呢,它可以这么写是吧?Name,诶等于name啊,这跟原来一样,对吧?那我们这是之前的写法了,我们换现在写法,现在这样就可以了。
03:11
这样就可以了,有没有感觉很眼熟啊,是不是像我们结构复制的时候比较像啊,直接写一个像变量一样的放在这对吧,紧接着还有一个A级,那A级的值也是A级,也简写一下,直接A级就可以了啊,直接级就可以了,那这时候呢,我们先来把这个。先来看一下上面这两个能不能拿到,对吧,我们先把这个hello来放上来,放开始。诶,它也是输出的一个这个hello,诶ES6对吧。我们来看一下,我们这地方来看一下来我们先来访问一下啊,输出一下我们这个OBJ,点上name来保存,还是风雨对吧,没有问题,那A呢。少了个A对吧。Edge来保存18,诶没有问题,那这个hello呢,哎,访问也是一样的,对吧?那这个呢,其实就是我们对象里边啊,这个ES6做的这个调整了,就是属性名啊,对象的属性名和值长得一样的时候呢,可以使用这种简写的方式,那这个呢,是对象属性的这个简洁表示法,那对象除了属性这种简洁表示法以外呢,其实我们对象里面除了属性是不是还有这种叫做方法呀,那么方法呢,也可以作为简写,也可以做一下简写,那这个简写怎么写呢?就是把这个方号省呢删掉,再把这个冒号删掉,直接保留下来这个函数名就可以了啊这个时候它就是一个什么呀,它就是一个方法啦,那这个呢,就是方法的名字,那我们来访问他一下试试。
04:39
那我们要访问一个对象上的方法必然是通过对象本身,然后通过这个方法名字hello,保存。就能看到他输出了一个叫做ES6的这么一个玩意儿,对吧,这个那没有问题。那这个呢,也是我们这个对我们所说的这个对象里面啊,这个属性以及方法的这种简洁的这个表达方式,大家学会了吗。
05:03
然后再给大家说一点啊,就是我们这个对象里面,嗯,我们来看一下。我们的这个对象里边呀,它在属性名表达式的时候啊,这个属性名在写的时候呢,它也扩展了一些新的方式啊,在我们之前呢,我们定义对象的属性呢,有两种,比如说我们先来let,一个OG一个空对象放着。那我要对这个对象来进行属性扩展的时候,我们可以使用对象点上,比如说a name对吧?值呢就叫做name,这样是不是可以啊,那这个呢,Name呢是它的属性,这个呢是上层的变量啊吧,上层的变量,那这是一种方式,还有一种方式呢,我们可以使用中括号来代替接入点的方式,对不对?那中括号哎给它几个age值呢,就是我们所说的A,那这样是不是也说出来呀,就我们来输出一下这个OBG来看一下是不是这样的,是吧,一个name一个A没有问题,对吧?那这个呢,是借我们表达的方式,那么。
06:02
在我们这个E里面,如果说。你呢,不是使用这种扩展的形式,而是在定义的时候啊,在划括号里面这样定义的时候呢,属性名呀,一定只能直接这样写的啊,只能通过这种直接写一个属性名作为标识符的这种自定义属性的方式来进行给它定义啊,那么在ES6里面呢,诶。除了这种以外呢,还可以这么干了,那比如说。我呢,我这边我把这两个去掉了,我不要它了啊,这个在上面去看不见了,我们在下面再来写两个。比如说我定义一个let,一个A的值能为一个负啊,为一个负,那这个时候我要用这个A来作为变量名的时候,啊,作为这个对象的属性名的时候,我想知道。这个A是谁?这个A会不会是变了A,那肯定不会对吧?我们刚才已经说了,你这个对象冒号前面的是对象自己的一个属性名对吧?属性名叫做A,所以我们在输出的时候呢,我们能发现它的属性名就是叫做A对吧?叫做A这地方错了是吧。
07:13
逗号啊来保存,哎,就说这诶它并没有叫这个负,对不叫负,那如果说我就要使用这个负的时候怎么办呢?哎,我们可以这样做中括号。A放进去啊,把这个中括号A放进去的时候,这个时候的A就不再是属性名A了,而是先把这个变量的值给它取过来,然后放到这,那是它的值来作为这个对象的属性名的,所以这时候当我们来保存问题,会发现它的属性名变为了能看到吗?啊,这个是我们这个。对象啊,属性名的这种表达式的写法,那其实呃,除了这种方式呢,还可以这样做啊,比如说我们再来一个啊,来个中括号是吧,里边呢,也可以写字符串hello是吧,因为刚才我们使用这个变量A的时候,它其实本质上就是使用个字符串是吧,所以这地方可以也可以直接写字符串没问题,那并且呢,这个字符串呢,你还可以使用这种诶拼接的形式啊,拼接形式lo hello在一拼接上这个lo,那值呢,我给它一个这个456。
08:17
啊,四六。那这时候我们再看一下这个对象来保存,你发现他的第二个属性名就是hello来并且文访问的时候就可以通过hello就可以了来保存,就能拿到这个456了,能看到吗?那这个呢,是我们这个呃,YES6里面啊这种对象属性名也可以使用这种表达式的方式啊,并且它这个除了可以用作属性名以外,你哪怕用作说咱们的这个方法名也是可以的啊,我们来看一下好吧,来个C。诶,比如说来个拼接上一个。一个汉C汉吧。来个c hi,那这个呢,是个属性名,那我们并且这个属性呢,作为方法的时候,同样还可以使用简写,那么前面这一块呢,就是这个方法的名字啊,后面呢,就是一种简写的方式,对吧?诶,一种简写方式,那我们来输出一下这个嗨就可以了啊输出了嗨,那这时候。
09:09
我们要来执行这个方法,那么我们必然要使用它的属性名,那它属性名呢,是一个字符串的拼接,那么也可以直接访问就行了啊,就要C焊括号啊,C焊你看这是拼接的对吧,又是个对象的简接表示法,那这时候当我们保存以后,你就发现,诶,它输出了一个汉能看到吗?那这个呢,是我们呃对象的啊,它的这个简洁表示法,以及它这种属性呢,是可以使用这个表达式的形式,那么其实除此之外呢,还有很多很多啊,那么E6里面还有新扩展很多的东西,那这些东西呢,我们在后面的课程再来接着聊好的,那么感谢大家,再见。
我来说两句