Poczytaj o kontekście, generalnie kontekst jest zmieniony dotyczy this, szczególnie dla obiektu
https://typeofweb.com/this-js-kontekst-wywolania-funkcji/
Arrow funkcje nie wiążą własne this, zamiast tego dziedziczą jeden z zakresu nadrzędnego, który jest nazywany "leksykalne zakresu". Więc też tutaj jest inny zakres.
https://www.codementor.io/@dariogarciamoya/understanding-this-in-javascript-with-arrow-functions-gcpjwfyuc
napisałem taki przykład : w jednym wynik jest "undefined" w drugim jest poprawny.
let me = {
name: "Grzegorz Duda",
thisInArrow: (name) => {
console.log("My name is " + name); // tutaj nie będzie bindowania 'this'
},
thisInRegular() {
console.log("My name is " + this.name); // tutaj this przyjmie poprawny kontekst
}
};
me.thisInArrow();
me.thisInRegular();
przetestuj go sobie