对象1
对象:JavaScript里面的对象就是一组键值对的集合。这些键一般由字符串构成,而值可以是任意数据类型。比如字符串,数字,布尔,数组或者函数。一般来讲,如果-个键映射的是一-个非函数的值,我们将这个值称之为该对象的属性,而如果一个键映射的是一个函数的值,那么我们将其称之为方法。
要创建一个对象,我们只需要输入一对大括号即可。这样我们就可以创建一个空的对象
创建好对象以后,我们就可以给该对象添加相应的属性,例如这里我们给xiejie这个对象添加相应的属性
我们可以在创建对象时就给对象添加好属性信息
对象的访问方法
- 点访问法:
我们可以通过一个点.来访问到对象的属性
- 中括号访问法:
第二种方法,是使用中括号法来访问对象的属性
- symbol访问法
在ES6之前,对象的属性名都只能是字符串。但是这样很容易造成属性名的冲突。比如我们使用了一个别人提供的对象,然后我们想在这个对象的基础上进行一定的扩展,添加新的属性,这个时候由于并不知道原来的对象里面包含哪些属性名,所以很容易就把别人的对象所具有的属性给覆盖掉了。
可以看到,这里两个name就产生了冲突,下面的name就把 上面的name给覆盖掉了。从ES6开始,新增了symboli这种数据类型,专门来解决这样的问题。创建symbol, 需要使用Symbol()函数
删除对象属性
对象的任何属性都可以通过delete运算符来从对象中删除。
如果是删除的是属性,那么再次访问值为变为undefined,而如果删除的是方法,那么调用时会直接报错
对象常用属性和方法
- in操作符
该操作符用于判断一个对象是否含有某一个属性,如果有返回true,没有返回false。需要注意的是目前为止还无法判断对象的symbol属性的包含情况,如果属性是symbol,那么会直接报错
- for..in
可以使用for..in来取出数组的键。除此之外,我们还可以使用for.in来循环遍历一个对象的所有属性
需要注意的是,使用for.in虽然说可以遍历出一个对象的所有的属性和方法,但是无法遍历出用symbol来定义的属性
- keys(),values(),entries()
嵌套对象
一个对象里面可以包含其他的对象,这个我们称之为对象的嵌套。
当我们访问嵌套对象里面的值的时候,和访问单个对象的方式是一样的。
对象的解构
解构的方式也是和解构数组是类似的