用于对象的合并,将源对象(source)的所有可枚举属性,复制到目标对象(target)。

1、以对象为参数的合并
1)Object.assign方法的第一个参数是目标对象,后面的参数都是源对象
  const target = {a: 1};
  const source1 = {b: 2};
  const source2 = {c: 3};
  Object.assign(target, source1, source2);
  console.log(target)// {a:1, b:2, c:3}
2)如果只有一个参数,会直接返回该参数
  const obj = {a: 1};
  console.log(Object.is(Object.assign(obj), obj))//true
3)如果该参数不是对象会先转换成对象
  console.log(Object.assign(2))
  console.log(typeof Object.assign(2))//object
4)undefined和null无法转成对象,所以如果他们作为参数会报错
  console.log(Object.assign(undefined))//报错
  console.log(Object.assign(null))//报错