What will be output of following code:
class User {
  constructor(name) {
    this.name = name;
  }
  greet() {
    console.log(`Hello ${this.name}`);
  }
}
console.log(typeof User);
console.log(User.prototype);
console.log(User.prototype.constructor);
console.log(Object.getOwnPropertyNames(User.prototype));This challenge tests your knowledge about how "class" syntax actually do under the hood.
function
{
  constructor: [Function: User],
  greet: [Function: greet]
}
[Function: User]
['constructor', 'greet']typeof User:
typeof User will return `"function".User.prototype:
constructor and greet. The constructor property references the User function itself.User.prototype.constructor:
User function, indicating that the constructor property points to the User function.Object.getOwnPropertyNames(User.prototype):
User.prototype, which are constructor and greet.