The this Keyword in Depth
How the value of this is determined dynamically at call time based on four binding rules, rather than lexically like a normal variable.
this is one of the most misunderstood parts of JavaScript because, unlike almost every other identifier, its value isn't determined by where a function is written but by how it's called — a fundamentally different resolution rule that trips up developers coming from lexically-scoped languages. Interviewers lean on this heavily because a handful of short code examples can reveal whether you truly understand the binding rules or have just memorized common patterns.
this is like a name tag that gets handed to you fresh at the door of every single meeting you walk into (call site) — which meeting you're currently in determines what your tag says, rather than the tag being permanently stitched onto your shirt.