代码之家  ›  专栏  ›  技术社区  ›  dcp

另一个成员函数内的Javascript成员函数调用[重复]

  •  1
  • dcp  · 技术社区  · 7 年前

    考虑以下javascript:

    let m = {
      add: (a,b) => a+b,
      subtract: (a,b) => a-b,
      doit: () => console.log(this.add(5,4)),
    };
    
    m.doit();
    

    当我运行此代码时,出现以下错误:

      doit: () => console.log(this.add(5,4)),
                                   ^
    TypeError: this.add is not a function
    

    add doit ?

    2 回复  |  直到 7 年前
        1
  •  1
  •   c-smile    7 年前

    箭头函数使用 this

    let m = {
      add: function(a,b) { return a+b; },
      doit: function() { console.log(this.add(5,4)); }
    };
    

    然而,在这种情况下为什么不使用类呢?

        2
  •  1
  •   Estus Flask    7 年前

    this ,这不是 m m 已定义。

    let m = {
      add: (a,b) => a+b,
      subtract: (a,b) => a-b,
      doit() {
        console.log(this.add(5,4));
      }
    };