1.箭頭函數有作用域(詞法作用域),詞法作用域簡單來講就是,一切變量(包括this)都根據作用域鏈來查找。
2.箭頭函數中的this因為綁定了詞法作用域,所以始終指向自身外的第一個this(由於自身沒有聲明this,所以會去作用域鏈上找this),也就是始終等於調用它的函數的this(以為這個this離它最近)。
3.嚴格模式下不允許使用arguments(規定),並且,普通函數里 arguments 代表了調用時傳入的參數,但是箭頭函數不是,箭頭函數會把 arguments 當成一個普通的變量,順着作用域鏈由內而外地查詢(詞法作用域)
4.arguments可以用...rest取代,所以完全沒必要追求argument。
替代:
let func = (...rest) => { console.log(rest) //[1,2,3] } func(1,2,3)