删除对象某个属性
第一种:delete
const obj = {
name:'章三',
age:18
}
//删除age这个属性
delete obj.age
console.log(obj). //{name:'章三'}
第二种(ES6):Reflect.deleteProperty()
const obj = {
name:'章三',
age:18
}
//删除name这个属性
Reflect.deleteProperty(obj,'name')
console.log(obj) //{age:18}
判断对象中是否有某一属性的两种方法
第一种:obj.hasOwnProperty()
const obj = {
name:'章三',
}
console.log(obj.hasOwnProperty('name')); //true
console.log(obj.hasOwnProperty('age')); //false
第二种:!==
const obj = {
name:'章三',
}
console.log(obj.name !== undefined); //true
console.log(obj.age !== undefined); //false
第三种:Object.keys
const obj = {
name:'章三',
}
Object.keys(obj).indexOf("name") // 0
Object.keys(obj).indexOf("age") // -1
第四种:ES6 属性名 in 对象,返回一个布尔值
const obj = {
name:'章三',
}
console.log("name" in obj) // true
console.log("age" in obj) // false