I need to bind this keyword inside object using arrow function. Is it possible?
Please don't mark this as duplicate because I have read 10 articles about this here in stackoverflow and I haven't found answer yet. I'm just curious if this is possible because everywhere is just workaround without using arrow function.
This is what I have tried without success.
const person1 = {
name: 'Dude',
showName: function(){
console.log(this.name)
}
}
const person2 = {
name: 'Dude',
showName(){
console.log(this.name)
}
}
const person3 = {
name: 'Dude',
showName: () => {
console.log(this.name)
}
}
const person4 = {
name: 'Dude',
showName: (() => {
console.log(this.name)
}).bind(this)
}
/* const person5 = {
name: 'Dude',
showName: () => {
console.log(this.name)
}.bind(this)
} */
person1.showName() // Dude
person2.showName() // Dude
person3.showName() // result
person4.showName() // result
// person5.showName() // SyntaxError