作用:Object.keys
静态方法获取对象中所有属性(键)
注意:返回的是一个数组
代码:
const o = {uname:'pink',age:18}
//获取所有的属性名
console.log(Object.keys(o));//返回数组['uname','age']
//获得所有的属性值
console.log(Object.values(o));//['pink',18]
assign
():作用:Object.assign
静态方法常用于对象拷贝
语法:
const o = {uname:'pink',age:18}
const oo = {};
//第一个参数拷贝的地方 第二个参数被拷贝的值
Object.assign(oo,o)
console.log(oo);//{uname:'pink',age:18}
assign() 是一个 JavaScript 对象方法,用于将一个或多个源对象的属性复制到目标对象中。它可以用于对象的浅拷贝和属性的合并操作。
assign() 方法接受两个或多个参数:
目标对象:要将属性复制到的目标对象。
源对象:包含要复制属性的一个或多个源对象。
下面是一个示例,说明了 assign() 方法的作用:
const target = { a: 1, b: 2 };
const source = { b: 3, c: 4 };
const result = Object.assign(target, source);
console.log(result);
输出结果:{ a: 1, b: 3, c: 4 }
在上述示例中,我们创建了一个目标对象 target 和一个源对象 source。然后,我们使用 assign() 方法将 source 对象的属性复制到 target 对象中。assign() 方法会返回目标对象 target,并且 target 对象已经被修改,其中的属性值被源对象的相应属性值覆盖。
需要注意的是,如果目标对象和源对象有同名的属性,assign() 方法会将源对象的属性值覆盖目标对象的属性值。因此,在例子中,target 对象中的属性 b 的值由 2 被覆盖为 3。
此外,assign() 方法执行的是浅拷贝操作,即只会复制对象的属性值,而不会复制对象的引用。如果源对象中的属性值是一个对象或数组,那么目标对象中的属性也会引用同一个对象。如果想要深拷贝对象,可以使用其他方法或库来实现。