JavaScript 类定义私有方法最佳实践 - 命名约定与闭包
在 JavaScript 中,没有真正的私有方法。然而,可以通过使用命名约定来模拟私有方法。
一种常见的约定是在方法名称前面加上下划线(_),表示该方法是私有的。这并不会禁止其他开发者直接调用该方法,但是它是一种暗示,告诉其他开发者不要直接访问或调用该方法。
例如:
class MyClass {
_privateMethod() {
// 私有方法的代码
}
publicMethod() {
// 公共方法可以调用私有方法
this._privateMethod();
}
}
另一种约定是使用闭包来创建私有方法。在这种方法中,将私有方法定义为类构造函数内部的局部函数,该函数可以访问构造函数的局部变量。这样,私有方法只能在构造函数内部访问,无法从外部访问。
例如:
class MyClass {
constructor() {
const privateMethod = () => {
// 私有方法的代码
};
this.publicMethod = () => {
// 公共方法可以调用私有方法
privateMethod();
};
}
}
虽然这些约定可以模拟私有方法,但需要注意的是,它们并不能真正地限制其他开发者对私有方法的访问。因此,在编写 JavaScript 代码时,应该依赖于开发者遵守这些约定,而不是依赖于语言本身提供的访问控制机制。
原文地址: https://www.cveoy.top/t/topic/py0W 著作权归作者所有。请勿转载和采集!