JS - 箭頭函數


適用場景

  • 一般在需要使用匿名函數時使用

誤用場景

  • 函數作為構造函數
  • 需要修改函數的this
  • 需要使用arguments對象或訪問prototype屬性
  • 需要作為生成器函數

例如

需要修改函數的this

var user = {
  name: "zhang",
  appendAF: val => {
    console.log(this.name + val); // apply不綁定this(箭頭函數不會創建自己的this,它只會從自己的作用域鏈的上一層繼承this。)
  },
  appendF: function(val) {
    console.log(this.name + val); // apply綁定this
  }
};

function call(obj, fname, ...args) {
  console.log(obj);
  obj[fname].apply(obj, args);
}

call(user, "appendAF", "qqq"); // undefinedqqq
call(user, "appendF", "qqq"); // zhangqqq

生成器函數

var genAF = (* () => {
    yield 123;
})(); // 語法錯誤

var genF = (function* (){
    yield 123;
})(); // 正確

參考

箭頭函數 | MDN


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM