关于Es6解构复制和扩展云算法

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 = [] 因此无意义。
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容