Do you know what will be the output of this code?
JavaScript
class User {
name = "Ana";
getName() {
return this.name;
}
}
const getName = new User().getName;
console.log(getName());
Show answer and explanation
The answer is TypeError: Cannot read properties of undefined.
this is set by how a function is called, not where it’s defined. getName() is called on its own, so this is undefined (class bodies are always in strict mode).
Fix it with .bind(user) or an arrow function property.