Hint
Determined by how a function is called, not where it is defined
this is determined by how a function is called:
const obj = { val: 42, getVal() { return this.val; } };
const fn = obj.getVal;
fn(); // undefined β lost context!
fn.call(obj); // 42 β restored