对象的定义:1)无序的数据集合;2)键值对的集合。
如何声明对象(属性名key,属性值value):
let obj={'name':'najia','age':18} //简洁写法
let obj = new Object({'name': 'nadia'}) //标准写法
console.log({'name': 'vangie','age': 18}) //匿名对象
引号可以省略,省略之后可以写标识符,但是省略后,键名也还是字符串;如果想要key为变量,用 [ ] 括起来
删除对象的属性
语法
delete obj['xxx'] //推荐使用
delete obj.xxx //删除obj的xxx属性
obj.xxx=undefined //删除obj的xxx属性值,xxx属性还存在
'xxx' in obj //验证xxx属性是否删除
查看对象的属性
批量查看:
Object.keys(obj) //查看自身所有属性名
Object.values(obj) //查看自身所有属性值
Object.entries(obj) //自身属性名和属性值组合查询
console.dir(obj) //查看自身和共有属性
单个查看:
obj['xxx'] //查看属性值
obj.xxx //查看属性值(xxx为字符串)
'xxx' in obj //判断属性在所有属性中是否存在
obj.hasOwnproperty('xxx') //判断属性是否是自身属性
增加或修改对象的属性
单个赋值
let obj = {name:'frank'}
obj.name = 'frank'
obj['name'] = 'frank'
obj['na'+'me'] = 'frank'
let key = 'name'
obj[key] = 'frank'
批量赋值
Object.assign(obj,['name':gemma,'age':38])
无法通过自身修改或增加共有属性,可读原型,不能写原型。(强制修改不推荐)
可以加原型,在创建的时候指定原型:
let obj = Object.create(common) //以common对象为原型创建obj
obj.name = 'frank'