Hint
bind() wins over call/apply. A bound function's this is permanent and cannot be overridden.
function getName() { return this.name; }
const alice = { name: 'Alice' };
const bob = { name: 'Bob' };
const boundAlice = getName.bind(alice);
console.log(boundAlice());
console.log(boundAlice.call(bob));Alice Alice
Explanation: bind creates a permanently bound function. Even .call(bob) cannot override the bound this.
Key Insight: bind() wins over call/apply. A bound function's this is permanent and cannot be overridden.