How to bind methods when destructuring an object in JavaScript?
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 methods when destructuring an object in one destructuring line?
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.