Paweł Paweł - 2 months ago 24
Javascript Question

How to bind methods of destructuring object?

How can I bind methods when I desctructure the object?

const person = {
getName: function(){
console.log(this);
}
};

var a = person.getName;
var b = person.getName.bind(person);
var {getName:c} = person;

person.getName(); // {getName:[Function]}
a(); // window or global
b(); // {getName:[Function]}
c(); // window or global


I want
c
to log in the console its 'parent' object
{getName:[Function]}
.
Is there any way to bind all destructuring methods of the particular object to that object in the one (destructuring) line?

Answer Source

No, there is no way. Functions detached from objects lose the original context. And destructing in JavaScript has no syntax to do something with extracted values on the fly.