内容1:声明对象的两种语法
let obj = { 'name': 'frank', 'age': 18 }
let obj = new Object({'name': 'frank'})
console.log({ 'name': 'frank, 'age': 18 })
注意:key是字符串,没有数字键
内容2:如何删除对象的属性
delete obj.xxx 或 delete obj['xxx']
内容3:如何查看对象的属性
查看自身所有属性:
Object.keys(obj)
查看自身+共有属性:
console.dir(obj) 或者自己依次用 Object.keys 打印出 obj.__proto__
查看某一个属性:
- 中括号语法:
obj['key'] - 点语法:
obj.key
内容4:如何修改或增加对象的属性
- 直接赋值
let obj = {name: 'frank'} name 是字符串
obj.name = 'frank' name 是字符串
obj['name'] = 'frank'
obj['na'+'me'] = 'frank'
let key = 'name'; obj[key] = 'frank'
- 批量赋值
Object.assign(obj, {age: 18, gender: 'man'})
内容5:'name' in obj和obj.hasOwnProperty('name') 的区别
'name' in obj 无法确认属性是自身的还是原型共有的,obj.hasOwnProperty('name')确认自身是否有该属性