如何在es6类的方法中创建方法

时间:2017-12-16 13:37:42

标签: javascript es6-class

美好的一天,

我不知道我是否可以很好地解释这一点,但是我想使用一个ES6类创建一个可以像这样调用的对象。 var = varaibles obj = objects

obj.var
obj.var.method
obj.var.var.method
obj.method.var

等等。

我只能做一步

obj.var && obj.method

如果有人可以帮助我,我将非常感谢

这就是我所做的

class Table extends someClass {
  constructor() {
    super();
    this.column = {
      sort: () => {
        console.log("firing");
      },
      resize: () => {
        console.log("firing");
      }
    };

    this.cells = {
      edit: () => {
        console.log("firing");
      }
    };
  }

  myMethods() {
    //BLAH
  }
}

1 个答案:

答案 0 :(得分:1)

据我所知,这是我的解决方案。

如果我返回一个充满方法的对象,我可以随意使用该对象。

class someClass {

  // this is a parent method
  Parent() {
    console.log(`From a Parent`)
  }

  // a getter that returns an object
  get parentWithChild() {
    return {
      child() {
        console.log(`From a Child`)
      }
    }
  }

  // a function that returns an object
  Methods() {
    return {
      child() {
        console.log(`From a Child`)
      }
    }
  }
}

const cool = new someClass();
cool.Parent(); // From a Parent
cool.parentWithChild.child(); // From a Child
cool.Methods().child(); // From a Child

您也可以在扩展类上使用类似的模式。