如何在其实例上访问es-2015类方法?

麦可

例如我有

class MyClass {

  constructor() {
    this.myMethod = this.myMethod.bind(this);
    // ... some more code
    // return what?
  }

  myMethod() {
   this.myMethod2();
   // do stuff ...
  }

  myMethod2() {
    // do stuff 2 ...
  }
}

然后我会做这样的事情

let obj = new MyClass();

我想做的是myMethodobj

obj.myMethod();

显然,如果在其代码中myMethod调用其他MyClass方法(如myMethod2),我希望一切都能按预期工作。因此,我假定构造函数应返回某种对象并包括其公共方法(可以访问对象的私有方法),但是该怎么做呢?

阿尼塔克

在ES6类中拥有私有方法的唯一方法(据我所知)是将它们定义为构造函数的内部函数:

class MyClass {
    constructor() {
        let privateVar = 'foo';
        let privateMethod = () => {
            return privateVar;
        }
    }
}

在构造函数之外定义的任何方法都是隐式公共的。

可以访问私有变量或方法的唯一公共方法是在构造函数的词法范围内类似定义的方法,并作为以下属性附加到当前实例this

constructor() {
    let privateVar = 'foo';
    let privateMethod = () => {
        return privateVar;
    }
    this.publicMethod = () => {
        return privateMethod();
    }
}

(请注意,使用箭头功能意味着thisInsidethis.publicMethod始终指向当前实例,而无需.bind调用)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何从其实例变量访问类的实例

来自分类Dev

如何在一个实例上访问类?

来自分类Dev

ES2015:从覆盖的类调用Inner方法

来自分类Dev

如何恢复腌制的类及其实例

来自分类Dev

访问从其实例化另一个类的类的方法

来自分类Dev

如何在Kotlin子类上访问Java静态方法?

来自分类Dev

如何在Swift中访问类的实例

来自分类Dev

如何在其中初始化类的数组实例?

来自分类Dev

使用Babel编译的es2015类方法的递归方法调用

来自分类Dev

如何遍历ES6 / 2015类实例的属性

来自分类Dev

如何在实例上访问静态成员?

来自分类Dev

如何创建将知道其实例在另一个类的矩阵中的方法

来自分类Dev

如何使toString()方法还返回超类私有字段及其实例字段?

来自分类Dev

从类方法访问实例方法

来自分类Dev

如何在其父类的数组中访问子类的属性

来自分类Dev

ES类如何在其他方法中引用方法

来自分类Dev

尝试访问我在其上调用类方法的类的实例变量

来自分类Dev

如何在jsp上访问名为“ get”的对象方法以避免使用scriplet?

来自分类Dev

如何在jsp上访问名为“ get”的对象方法以避免使用scriplet?

来自分类Dev

如何在C#中使用子类的实例访问父类的方法

来自分类Dev

如何在另一个类中访问此实例方法

来自分类Dev

如何使用关注访问实例方法中的类方法(或变量)?

来自分类Dev

如何在类方法中调用不同的类实例?

来自分类Dev

如何在类内的方法python中创建类的实例

来自分类Dev

如何在类的方法中引用创建的类实例?

来自分类Dev

在其执行方法内访问Task实例

来自分类Dev

如何在类中访问静态方法

来自分类Dev

如何在python中访问父类的实例变量?

来自分类Dev

如何在非实例类的实例上运行方法/函数?

Related 相关文章

  1. 1

    如何从其实例变量访问类的实例

  2. 2

    如何在一个实例上访问类?

  3. 3

    ES2015:从覆盖的类调用Inner方法

  4. 4

    如何恢复腌制的类及其实例

  5. 5

    访问从其实例化另一个类的类的方法

  6. 6

    如何在Kotlin子类上访问Java静态方法?

  7. 7

    如何在Swift中访问类的实例

  8. 8

    如何在其中初始化类的数组实例?

  9. 9

    使用Babel编译的es2015类方法的递归方法调用

  10. 10

    如何遍历ES6 / 2015类实例的属性

  11. 11

    如何在实例上访问静态成员?

  12. 12

    如何创建将知道其实例在另一个类的矩阵中的方法

  13. 13

    如何使toString()方法还返回超类私有字段及其实例字段?

  14. 14

    从类方法访问实例方法

  15. 15

    如何在其父类的数组中访问子类的属性

  16. 16

    ES类如何在其他方法中引用方法

  17. 17

    尝试访问我在其上调用类方法的类的实例变量

  18. 18

    如何在jsp上访问名为“ get”的对象方法以避免使用scriplet?

  19. 19

    如何在jsp上访问名为“ get”的对象方法以避免使用scriplet?

  20. 20

    如何在C#中使用子类的实例访问父类的方法

  21. 21

    如何在另一个类中访问此实例方法

  22. 22

    如何使用关注访问实例方法中的类方法(或变量)?

  23. 23

    如何在类方法中调用不同的类实例?

  24. 24

    如何在类内的方法python中创建类的实例

  25. 25

    如何在类的方法中引用创建的类实例?

  26. 26

    在其执行方法内访问Task实例

  27. 27

    如何在类中访问静态方法

  28. 28

    如何在python中访问父类的实例变量?

  29. 29

    如何在非实例类的实例上运行方法/函数?

热门标签

归档