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

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 用更合理的方式写 JavaScript 目录 声明变量 对象 数组 字符串 函数 箭头函数 模块 迭代器和生成器 ...
    小红依阅读 1,845评论 0 5
  • "Unterminated string literal.": "未终止的字符串文本。", "Identifier...
    两个心阅读 8,494评论 0 4
  • pyspark.sql模块 模块上下文 Spark SQL和DataFrames的重要类: pyspark.sql...
    mpro阅读 9,554评论 0 13
  • 1 我真的很寂寞,要不咱俩交往吧。 1也许你会想我把你当成啥。我对你只是好感没发展道爱。 1 初三的时候我的确很...
    乐呵呵_a423阅读 494评论 0 0
  • 记录下在react-native开发中遇到的错误 ReferenceError: Can't find varia...
    0xSen阅读 2,413评论 0 3