Consider the below:
class foo(){
constructor(){this.x = 10}
f(){console.log(this.x)}
}
myfoo = new foo()
class bar{
constructor()
b(func){func()}
}
mybar = new bar()
mybar.b(myfoo.f())
Because of how this works in JavaScript, "this" in myfoo.f points to mybar instead of myfoo. How do I go around this? Also, why does JavaScript do this?
Response to duplicate
Before reporting this as a duplicate again, please note that this question is directed to the JavaScript class, not functions in this link. I don't think that link does not resolve my issue.