当前位置: 首页 > 科技观察

听说,JavaScript 中,这几个操作对象的方法很实用

时间:2023-03-16 17:02:41 科技观察

听说在JavaScript中,这些操作对象的方法很实用,介绍6个比较实用的操作对象的方法。Object.create()以参数为原型,创建一个新的对象实例。constuser={name:'kylin',age:18,gender:'female',work:'dev',say(){console.log(`name:${this.name},age:${this.age},gender:${this.gender}`);}};constmy=Object.create(user);my.say();//名字:kylin,年龄:18,性别:女my.name='Tom';my.year='2020';console.log(my.name);//Tomconsole.log(my.year);//2020Object.assign()赋值一个或多个对象的所有可枚举属性合并(复制)到一个新的对象上。Object.assign()方法有2个参数,第一个参数是目标对象,第二个参数是源对象。如果存在同名属性,则后对象的属性将覆盖前对象的属性。constuserBasic={name:'kylin',age:20,};constuserInfo={age:18,gender:'female',work:'dev',say(){console.log(`Name:${this.name},年龄:${this.age},性别:${this.gender},工作:${this.work}`);}};constuser=Object.assign(userInfo,userBasic);user.say();//姓名:kylin,年龄:20,性别:女,工作:dev也可以合并成一个新的对象。constuserBasic={name:'kylin',age:18,gender:'female',say(){console.log(`Name:${this.name},age:${this.age},gender:${this.gender}`);}};constuser=Object.assign({},userBasic);user.say();//姓名:kylin,年龄:18,性别:女Object.keys()返回对象本身可以枚举的所有属性的数组。constuser={name:'kylin',age:18};Object.defineProperty(user,'gerder',{value:"female",enumerable:false//不可枚举});console.log(Object.keys(user)));//["name","age"]Object.values()返回一个包含对象本身所有可枚举属性值的数组,顺序与for...in循环相同。constuser={name:'kylin',age:18};Object.defineProperty(user,'gerder',{value:"female",enumerable:false//不可枚举});console.log(Object.values(user)));//["kylin",18]Object.entries()以数组的形式表达了对象的属性和值(键和值)。即返回一个包含对象自身可枚举属性的键值对数组。constuser={name:'kylin',age:18};constinfo=Object.entries(user);console.log(info);//[['name','kylin'],['age',18]]Object.fromEntries()相当于Object.entries()方法的逆操作,将键值对数组转换为对象。constuser=Object.fromEntries([['name','kylin'],['age',18]]);console.log(user);//{name:"kylin",age:18}