- 声明对象的两种语法
- 如何删除对象的属性
- 如何查看对象的属性
- 如何修改或增加对象的属性
- 'name' in obj和obj.hasOwnProperty('name') 的区别
let a = 1
const a = 1
delete obj['xxx']
delete obj.xxx
检查是否删除成功:
'xxx' in obj 为false
查看自身所有属性名:Object.keys(obj)
查看自身所有属性值:Object.values(obj)
查看自身所有属性名+值:Object.entriesz(obj)
查看自身所有属性+共有属性:console.dir(obj)
查看单个属性:
obj['key']
obj.key
查看变量:obj.[key]
直接赋值:
let obj={name:'frank'}
obj.name='frank'
obj['name']='frank'
let key='name';obj['name']='frank'
一般来说,不修改原型,会引起很多问题。
'name' in obj是检验属性是否存在对象中
obj.hasOwnProperty('name')是判断属性为自身的还是共有的
补充:
in 表示obj对象中是否包含name字符串这个键,如果原型链中也有name字符串这个属性名,也可以返回true
hasOwnProperty 则表示在obj对象中是否包含name字符串这个属性名。不从含原型链中查找。