ES6:定义在object中箭头函数

箭头函数 不能用来写对象方法,因为它屏蔽了this的词法封闭环境, 在箭头函数中的this是当前定义这个object所在的上下文

// `this` is here 
var chopper = {
  owner: 'Mary',
  getOwner: () => {
    return this.owner; // 此处的this指向当前chopper对象所在的上下文
  }
};

如果你想在object中定义方法,可以使用传统函数语法或es6的简写

// 传统函数语法
var chopper = {
  owner: 'Mary',
  getOwner: function() {
    return this.owner;
  }
};

// or es6 语法 
var chopper = {
  owner: 'Mary',
  getOwner() {
    return this.owner;
  }
};

参考:
Method_definitions
methods-in-es6-objects-using-arrow-functions

你可能感兴趣的:(ES6:定义在object中箭头函数)