关于ES6延展符操作

之前在vue组件通信事件中添加循环参数,比如这样:

 

 不能直接将循环列表的值传入组件自定义方法中,会覆盖原本返回值,这里使用了es6的延展符操作。更改为

bindChange(...arguments,item)

这样便可以获取到额外添加的参数;另外延展符也可用于拼接对象、数组,比如:

let arr1 = [1,2,3],arr2;
arr2 = [...arr1,4,5]; // 1,2,3,4,5

let obj1 = {a:1},obj2;
obj2 = {...obj1,a : 2} // {a:2}

拓展一下,因为延展符操作是直接返回新的对象,顺便对比了几种对象深拷贝的效率:

 

 在常用的几种深拷贝中,不仅语法简单,效率也是最高的;

甚至还可以做到数组去重(语法最简单)

let arr = [1,2,3]
new Set([...arr,2,3,4]); // 1,2,3,4

 

相关文章

原文连接:https://www.cnblogs.com/dupd/p/5951311.htmlES6...
以为Es6,javascript第一次支持了module。ES6的模块化分为导...
视频讲解关于异步处理,ES5的回调使我们陷入地狱,ES6的Prom...
TypeScript什么是TypeScript?TypeScript是由微软开发的一款开...
export class AppComponent { title = 'Tour of heroes...
用 async/await 来处理异步昨天看了一篇vue的教程,作者用as...