可以利用闭包实现这一点:
const foo = (() => {
const bar = () => {
console.log('这是私有方法');
};
return () => {
bar();
};
})();
foo();
另外一提,根据tc39的私有方法提案目前已进入Stage 3阶段,目测很快就会在个大浏览器和node等其他js环境实装,其语法如下:
class Foo {
#bar() {
console.log('这是私有方法');
}
baz() {
this.#bar(); // 允许
}
}
new Foo().#bar(); // 不允许