1. 程式人生 > >使用箭頭函數的幾個註意事項

使用箭頭函數的幾個註意事項

def this 阮一峰 gpo -- asc 報錯 註意點 一個

剛才寫一個需要遞歸操作的函數,在使用arguments.callee的時候,報錯undefined,因為arguments.callee在嚴格模式下會失效,以為是使用了=>箭頭函數後,函數內部環境會以嚴格模式執行,查閱資料後才知道不可以在箭頭函數中使用arguments對象,該對象在函數體內不存在。

以下摘自阮一峰老師在ECMAScript 6 入門第七章函數擴展第5小節箭頭函數-------使用註意點

(1)函數體內的this對象,就是定義時所在的對象,而不是使用時所在的對象。

(2)不可以當作構造函數,也就是說,不可以使用new命令,否則會拋出一個錯誤。

(3)不可以使用arguments

對象,該對象在函數體內不存在。如果要用,可以用 rest 參數代替。

(4)不可以使用yield命令,因此箭頭函數不能用作 Generator 函數。

使用箭頭函數的幾個註意事項