对象的常用方法

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"]]