使用箭頭函式的幾個注意事項

李文楊發表於2018-02-06

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

以下摘自阮一峰老師在ECMAScript 6 入門第七章函式擴充套件第5小節箭頭函式-------使用注意點

(1)函式體內的this物件,就是定義時所在的物件,而不是使用時所在的物件。

(2)不可以當作建構函式,也就是說,不可以使用new命令,否則會丟擲一個錯誤。

(3)不可以使用arguments物件,該物件在函式體內不存在。如果要用,可以用 rest 引數代替。

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

相關文章