函数扩展:
1.箭头函数中this的不适用场合:在对象中的方法中使用箭头函数的this,因为箭头函数相当于打开了作用域,所以这时的this会指向window。
2.在需要使用动态this,如事件绑定时,回调函数替换成箭头函数会导致this指向window,而不是事件对象。函数式编程的尾调用暂时不看。
数组扩展:
1.对应rest参数,参数中出现的数组可以用...来扩展变成spread参数,主要用作函数调用。扩展运算符的出现可以替代apply方法。数组的push方法的参数就可以用扩展运算符直接传一个数组。
// ES5 的写法 function f(x, y, z) { // ... } var args = [0, 1, 2]; f.apply(null, args); // ES6的写法 function f(x, y, z) { // ... } let args = [0, 1, 2]; f(...args);
2.数组本质也是对象,所以复制一个数组实质是复制指针,真正复制数组在ES5中需要使用concat方法不传参数达到复制的目的。
原文:https://www.cnblogs.com/harrywu96/p/12163623.html