带有函数和使用 "this" 的 es6 变量

es6 variable with functions and using "this"

我现在正在学习ES6。刚刚了解了一些 类。 现在我在 JSON 对象中有一组助手。我如何引用它自己?我使用 babel 将其转换为 ES5 但它不喜欢它,它从“this”中生成“_this”。

const pixieLib = {
  methodA : (arg1) => {
    console.log('foo');
  },

  methodB : () => {
    this.methodA();
  }
};

如果有更好的制作助手的方法,当他们与 Babel 一起玩时,欢迎所有建议。

您使用了箭头函数,根据定义它在创建它的地方关闭 this。

如果你不使用,它会正常工作:

const pixieLib = {
  methodA : function(arg1) {
    console.log('foo');
  },

  methodB : function()  {
    this.methodA();
  }
};

Babel REPL test

编辑:

或使用 @trincot 指出的 ES6 方法定义语法。

const pixieLib = {
  methodA(arg1) {
    console.log('foo');
  },

  methodB()  {
    this.methodA();
  }
};

REPL Result