【发布时间】:2017-08-27 22:52:20
【问题描述】:
在 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
我希望c 登录控制台它的“父”对象{getName:
[Function]}。
在一行destructuring中解构对象时,有什么方法可以绑定所有方法吗?
【问题讨论】:
-
上下文在调用时给出。
var {getName:c} = person;与var c = person.getName;相同。如果您想为c提供您选择的上下文,请使用.call、.apply或.bind -
我想不出除了
var {…} = autobindAllMethods(person)的辅助函数
标签: javascript node.js ecmascript-6 this destructuring