javaScript Object对象中的assign方法
作用:拷贝复制一个对象到另一个对象当中
一、Object.assign(匿名对象, obj);
将obj的所有值赋值到匿名对象当中,如果有相同的值,则覆盖掉。
console.log("-".repeat(10) + "例1" + "-".repeat(10));
const obj1 = {
age: 18,
name: 'zg'
}
const obj2 = Object.assign({ grade: 'A', friends: ['lucy'] }, obj1);
console.log(obj1);
/*
{
"age": 18,
"name": "zg"
}
*/
console.log(obj2);
/*
{
"grade": "A",
"friends": [
"lucy"
],
"age": 18,
"name": "zg"
}
*/
二、Object.assign(obj1, obj2);
将obj2的内容赋值给obj1,返回obj1改变后的对象,此时obj内部已发生改变
console.log("-".repeat(10) + "例2" + "-".repeat(10));
const obj3 = {
name: 'jam',
age: 23,
friends: ['lucy'],
height: "1.88m"
}
const obj4 = {
name: 'zg',
age: 22,
grade: 'A'
}
Object.assign(obj3, obj4);
console.log(obj3);
/*
{
"name": "zg",
"age": 22,
"friends": [
"lucy"
],
"height": "1.88m",
"grade": "A"
}
*/
console.log(obj4);
/*
{
"name": "zg",
"age": 22,
"grade": "A"
}
*/
三、Object.assign(obj5, obj6, obj7);
将obj6、obj7对象中的内容全部赋值到obj5当中,相同的值同样会覆盖,返回修改后的值。
console.log("-".repeat(10) + "例3" + "-".repeat(10));
const obj5 = {
a: 1
};
const obj6 = {
b: 2
};
const obj7 = {
c: 3
};
const obj8 = Object.assign(obj5, obj6, obj7);
console.log(obj5);
/*
{
"a": 1,
"b": 2,
"c": 3
}
*/
console.log(obj6);
/*
{
"b": 2
}
*/
console.log(obj7);
/*
{
"c": 3
}
*/
console.log(obj8);
/*
{
"a": 1,
"b": 2,
"c": 3
}
*/