如果你需要 es 中的真正的私有属性,而非 ts 的假私有属性,可以这样写:
class Test {
#a = () => console.log(1)
public b() {
this.#a();
}
}
如果你需要支持低版本的 js,而只是希望这个属性不可见(其实还是可以访问的),可以将这个数值设置为不可枚举。
function Test() {}
Object.defineProperty(Test.prototype, "a", {
enumerable: false,
writable: true,
});
Test.prototype.a = function() {
console.log(111)
}
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…