1. 程式人生 > >JS - 箭頭函式

JS - 箭頭函式

# 適用場景 - 一般在需要使用匿名函式時使用 # 誤用場景 - 函式作為建構函式 - 需要修改函式的`this` - 需要使用`arguments`物件或訪問`prototype`屬性 - 需要作為生成器函式 ## 例如: ### 需要修改函式的`this`: ```javascript 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'); call(user, 'appendF', 'qqq'); ``` ### 生成器函式: ```javascript var genAF = (* () => { yield 123; })(); // 語法錯誤 var genF = (function* (){ yield 123; })(); // 正確 ``` # 參考 > [箭頭函式 | MDN](https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Functions/Arrow_functions)