对象的常用方法
1、hasOwnProperty() 判断对象的自有属性是否存在
let obj={
name:"111"
}
console.log(obj.hasOwnProperty('name'))//true
2、assign() 用于对象的合并
let obj2={name:"张三",age:"18",score:20};
let obj3={name:"李四"};
console.log(Object.assign(obj2,obj3));//{name: "李四", age: "18", score: 20}
//合并对象,如果对象中有重复的属性,后面一个属性会把前面一个覆盖掉
3、defineProperty() 直接在对象上定义新的属性或者修改现有属性 defineProperties 复数的形式是可以定义或者修改多个属性
let obj4={};
Object.defineProperty(obj4,'name',{
value:'球球',
writable:false
//writable使用这个属性,true代表当前属性可更改,false代表当前属性不可更改
})
console.log(obj4)//{name:"球球"}
let obj4={};
Object.defineProperty(obj4,'name',{
value:'球球',
writable:true
})
obj4.name="团团";
console.log(obj4);//{name:"团团"}
let obj5={age:"18"};
Object.defineProperty(obj5,'age',{
value:'20',
writable:true
})
console.log(obj5);//{age:"20"}
let obj7 = { name: "小搓搓" };
Object.defineProperties(obj7, {
name: {
value: "小挫挫",
writable: true
},
age: {
value: 3,
writable: true
}
});
console.log(obj7);//{name: "小挫挫", age: 3}
4、keys() 获取对象的属性 返回一个数组
let obj8 = { name: "熊崽子",age:"18",play:'jumping' };
Object.keys(obj8);//["name", "age", "play"]
5、values() 获取对象的所有value值 返回一个数组
let obj8 = { name: "熊崽子",age:"18",play:'jumping' };
Object.keys(obj8);//["熊崽子", "18", "jumping"]
6、entries() 获取对象的键和值组成一个数组,最终是个双数组
let obj9={ name: "熊崽子",age:"18",play:'jumping' };
Object.entries(obj9);//[["name", "熊崽子"],["age", "18"], ["play", "jumping"]]