1. 程式人生 > >es6的箭頭函式和es5的function函式區別

es6的箭頭函式和es5的function函式區別

一.es6的箭頭函式

  • es6箭頭函式內部沒有this,使用時會上朔尋找最近的this
  • 不可以做建構函式,不能使用new命令,因為沒有this
  • 函式體內沒有arguments,可以使用rest引數代替
  • 不能用yield,不能使用generator函式

二.疑問

下面程式碼中的箭頭函式arrows的this指向window

    let obj = {
        aaa: '123',
        arrows : () => {
            console.log('arrows',this);
        },
        func : function
() { console.log('func',this); } } obj.arrows(); // window obj.func(); // obj