Javascript 绑定到对象函数的ES6/Babel版本

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

我如何在es6中实现与下面相同的行为

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()的