So as you can see I have a greeting function and similar to that the getsMarried function. However, getsMarried is shown as a prototype (colored green in VSCode, opposed to yellow). Is this because I use this.lastName? Because the tutorial I am learning from is also doing the same without it shown as a prototype.
const personPrototypes = {
greeting: function(){
`$Hello there ${this.firstName} ${this.lastName}`
},
getsMarried: function(newLastName){
this.lastName = newLastName
}
}
const mary = Object.create(personPrototypes)
mary.firstName = 'Mary'
mary.lastName = 'Williams'
mary.age = 30
mary.getsMarried('Wlii')
console.log(mary.greeting())
CodePudding user response:
console.log
does not show result as there is nothing to show. So we can return
your greeting from the function to be shown in console.log
.
The return statement ends function execution and specifies a value to be returned to the function caller.
An example:
const personPrototypes = {
greeting: function(){
return `$Hello there ${this.firstName} ${this.lastName}`
},
getsMarried: function(newLastName){
this.lastName = newLastName
}
}
const mary = Object.create(personPrototypes)
mary.firstName = 'Mary'
mary.lastName = 'Williams'
mary.age = 30
mary.getsMarried('Wlii')
console.log(mary.greeting())