这是箭头函数

在功能上是指用于调用该函数的实例对象,但在箭头函数等于其中箭头函数定义的函数。

让我们理解使用图表 https://i.stack.imgur.com/iRsl1.jpg

了解使用示例。

var normalFn = function(){
   console.log(this) // refers to global/window object.
}

var arrowFn = () => console.log(this); // refers to window or global object as function is defined in scope of global/window object
    
var service = {

    constructorFn : function(){

        console.log(this); //  refers to service as service object used to call method.

        var nestedFn = function(){
            console.log(this); // refers window or global object because no instance object was used to call this method.
        }
        nestedFn();
    },
    
    arrowFn : function(){
        console.log(this); // refers to service as service object was used to call method.
        let fn = () => console.log(this); // refers to service object as arrow function defined in function which is called using instance object.
        fn();
    } 
}

// calling defined functions
constructorFn();
arrowFn();
service.constructorFn();
service.arrowFn();

在箭头函数中,是词法范围,它是定义箭头函数的函数范围。
第一个例子是定义函数的传统方式,因此,指的是全局/窗口对象。
在第二个示例中,用于箭头函数内部,因此指的是定义它的范围(即窗口或全局对象)。在第三个示例中,是服务对象,因为服务对象用于调用函数。
在第四个例子中,箭头函数是从范围为 service 的函数定义和调用的,因此它打印服务对象。

注意: - 全局对象在 Node.Js 中打印,windows 对象在浏览器中打印。