ES6 -- 函数扩展、数组扩展

函数扩展:

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方法不传参数达到复制的目的。

猜你喜欢

转载自www.cnblogs.com/harrywu96/p/12163623.html