javascript之箭頭函數

箭頭函數有幾個使用注意點。
(1)函數體內的this對象,就是定義時所在的對象,而不是使用時所在的對象。

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

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

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

  1. this對象的指向是可變的,但是在箭頭函數中,它是固定的。箭頭函數導致this總是指向函數定義生效時所在的對象(本例是{id: 42}),所以輸出的是42。
function foo() {
  setTimeout(() => {
    console.log('id:', this.id);
  }, 100);
}
var id = 21;
foo.call({ id: 42 }); // 42

2.箭頭函數不能new
下面一張圖看明白箭頭函數與普通函數的區別
在這裏插入圖片描述相比普通函數,箭頭函數沒有prototype,沒有原型鏈,所以箭頭函數不能new會報錯。
在這裏插入圖片描述
歡迎大家指正錯誤!~

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章