箭头函数的理解

135 阅读1分钟

简介

箭头函数是ES6推出的语法,写法上比普通函数简洁明了,下面聊聊箭头函数的特性及用法

写法上

image.png

如果函数返回值逻辑比较简单,可以精简成一行,省略return,如下图

image.png

箭头函数的this指向

箭头函数本身是没有this的,它的this指向依赖上级的作用域中的this指向;由于fn函数中的this指向window,箭头函数依赖于其上级作用域的this,故也指向window

image.png

箭头函数中的arguments参数

  • arguments参数:接收函数除已接收外所有的参数,接收剩余的参数组合成一个类数组

普通函数中的arguments

(function fn() {
    function normalFn(category) {
        console.log(category); //水果
        console.log(arguments); //Arguments(4) ['水果', '香蕉', '葡萄', '水蜜桃', callee: ƒ, Symbol(Symbol.iterator): ƒ]
    }
    normalFn("水果", "香蕉", "葡萄", "水蜜桃");
})(); //立即执行函数

箭头函数中的arguments接收上级作用域的参数

(function fn() {
    const arrowFn = (category) => {
        console.log(category); //水果
        console.log(arguments); //Arguments(3) ['白菜', '西红柿', '土豆', callee: ƒ, Symbol(Symbol.iterator): ƒ]
    };
    arrowFn("水果", "香蕉", "葡萄", "水蜜桃");
})('白菜','西红柿','土豆'); //立即执行函数

结尾

以上就是我个人对箭头函数的理解,欢迎志同道合的伙伴评论区一起探讨