1.扩展运算符:
扩展预算符相对好理解,这里提一点是
let { x, y, ...z } = { x: 1, y: 2, a: 3, b: 4 };
z = {a: 3, b: 4}
解构赋值如果相对应的值是引用类型的, 浅拷贝;
2.扩展运算符:
扩展运算符(...)用于取出参数对象的所有可遍历属性,拷贝到当前对象之中;
这里的对象是指Object 开始我理解为{},是错误的;
eg:
let a = { a: 'a', b: 'b', c: 'c' };
let b = {...a}
b 和 a相等
let a = [{ a: 'a' }];
let b = { ...a };
该结果b为object key值为数组下标,value值为该数组下标的值。
let a = [1, 2, 4];
let b = [...a];
b和a相同
let a = {a: 'a'};
let b = [...a];
这种方式不会报错,但是b = [] 因此无意义。