Зависит от контекста вызова console.log и строгого режима JavaScript ("use strict").
В глобальном контексте (за пределами функций и модулей):
"use strict" отсутствует или объявлен в функции): this будет ссылаться на глобальный объект (window в браузере, global в Node.js).this будет undefined.Внутри функции:
this будет ссылаться на глобальный объект, если функция вызвана как обычная функция (myFunction()). Если функция вызвана как метод объекта (myObject.myMethod()), this будет ссылаться на объект (myObject). Если функция используется как конструктор (new MyClass()), this будет ссылаться на новый экземпляр объекта.this будет undefined, если функция вызвана как обычная функция. В остальных случаях (метод объекта, конструктор) поведение такое же, как в нестрогом режиме.Внутри стрелочной функции (=>):
this лексически наследуется из окружающего контекста. Это означает, что значение this внутри стрелочной функции будет таким же, как и во внешней обычной функции или в глобальном контексте, где была объявлена стрелочная функция, независимо от того, как она вызвана. Стрелочные функции не связывают this со своим собственным контекстом вызова.Пример:
javascript