1. What happens to this when you detach a method from its object and call it as a plain function?
In non–arrow functions, this is determined by the call site. Calling a detached method as a plain function loses the original receiver, so this is undefined in strict mode (or globalThis in sloppy mode).
"use strict";
const user = {
name: 'Ava',
say() { console.log(this && this.name); }
};
const fn = user.say;
fn(); // undefined