Javascript 绑定到对象函数的ES6/Babel版本
我如何在es6中实现与下面相同的行为Javascript 绑定到对象函数的ES6/Babel版本,javascript,this,ecmascript-6,Javascript,This,Ecmascript 6,我如何在es6中实现与下面相同的行为 var grand_parent = { parent: { child: function () { // logic }.bind(this) } } 我厌倦了下面的内容,但我遇到了一个语法错误 var grand_parent = { parent: { child() { // logic }.bind(this) } 您很可能会使用箭头功能: var grand_p
var grand_parent = {
parent: {
child: function () {
// logic
}.bind(this)
}
}
我厌倦了下面的内容,但我遇到了一个语法错误
var grand_parent = {
parent: {
child() {
// logic
}.bind(this)
}
您很可能会使用箭头功能:
var grand_parent = {
parent: {
child: () => {
// logic
}
}
};
其中,此
是词汇绑定的,其工作原理与您的绑定(此)
场景相同。您不能使用方法语法调用
.bind()
。在第一个示例中,为什么要将您的方法绑定到全局,而不是父对象
?5/6之间的行为应相同,保留“严格使用”差异。我会认为在孩子
里面,你会希望这个
成为家长
,对吗?如果是这样的话,你根本不需要绑定它,除非你以后想在没有上下文的情况下从外部应用它……这里肯定需要更多的例子。在这个例子中,答案是你不能,因为这不是类的设计目的,它不是全局的。这只是我正在重构的一些react代码的一个简化示例。它只是一个常规对象,因此不能使用var
,而应该使用属性名。这就是语法错误的来源。另外,您还可以使用而不是bind()
语法错误是针对.bind()的