在 JavaScript 中,没有真正的私有方法。然而,可以通过使用命名约定来模拟私有方法。

一种常见的约定是在方法名称前面加上下划线(_),表示该方法是私有的。这并不会禁止其他开发者直接调用该方法,但是它是一种暗示,告诉其他开发者不要直接访问或调用该方法。

例如:

class MyClass {
  _privateMethod() {
    // 私有方法的代码
  }

  publicMethod() {
    // 公共方法可以调用私有方法
    this._privateMethod();
  }
}

另一种约定是使用闭包来创建私有方法。在这种方法中,将私有方法定义为类构造函数内部的局部函数,该函数可以访问构造函数的局部变量。这样,私有方法只能在构造函数内部访问,无法从外部访问。

例如:

class MyClass {
  constructor() {
    const privateMethod = () => {
      // 私有方法的代码
    };

    this.publicMethod = () => {
      // 公共方法可以调用私有方法
      privateMethod();
    };
  }
}

虽然这些约定可以模拟私有方法,但需要注意的是,它们并不能真正地限制其他开发者对私有方法的访问。因此,在编写 JavaScript 代码时,应该依赖于开发者遵守这些约定,而不是依赖于语言本身提供的访问控制机制。

JavaScript 类定义私有方法最佳实践 - 命名约定与闭包

原文地址: https://www.cveoy.top/t/topic/py0W 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录