You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在JavaScript的公共方法中调用私有方法?

类私有方法的正确调用方式

你遇到的问题根源是JavaScript私有方法的调用语法错误——私有成员(包括方法)必须通过this.#方法名的形式调用:

  • 直接写myPrivateMethod()会去全局作用域查找函数,自然找不到对应定义
  • 写this.myPrivateMethod()是在访问实例的公共属性,但你的私有方法标识符是#myPrivateMethod,不带#的名字根本对应不上这个私有成员

要保持方法私有性的同时实现调用,只需要修改调用语句的写法即可,修正后的代码如下:

class myClass
{
   myPublicMethod(e)
   {
      console.log(this);
      this.#myPrivateMethod(); // 正确调用私有方法
   }

   #myPrivateMethod()
   {
      console.log('in myPrivateMethod');
   }
}

另外需要注意,类的私有成员仅能在类内部访问,外部无法通过任何方式调用,这也确保了它的私有性不受破坏。

内容的提问来源于stack exchange,提问作者Legion

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.24 08:59:55