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
.