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')确认自身是否有该属性