JavaScript实例如何在没有原型继承的情况下访问私有方法?

问题描述 投票:0回答:1

我的理解是私有方法不是原型链的一部分,因此不会被子类继承。但是,当通过类的公共方法调用这些方法时,我对类的实例如何访问私有方法感到困惑。

class MyClass {
  #privateMethod() {
    return 'I am a private method';
  }

  publicMethod() {
    return this.#privateMethod(); // Access private method from within the class
  }
}

const instance = new MyClass();
console.log(instance.publicMethod()); // Logs: I am a private method

当调用

instance.publicMethod()
时,
this
内的
publicMethod
指的是
instance
。由于私有方法不是实例本身或原型链的一部分,那么
this.#privateMethod()
是如何工作的呢?即使实例不直接包含私有方法,如何访问私有方法?

javascript class inheritance
1个回答
0
投票

screenshot 私有方法是实例的一部分

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.