【发布时间】:2020-06-07 21:28:18
【问题描述】:
我在下面的代码中复制了我在 typescript 中使用私有属性时遇到的问题。
预期行为:只有公共属性应该在我的对象输出中可见,就像在正常封装中一样。
我的目标是使带有 setter 和 getter 的属性成为我的类的公开 api 的一部分,而不是私有属性(如在 C# 中)
class MyClass {
public otherProp: boolean;
constructor() {
this.otherProp = false;
this._privateProp = false;
}
private _privateProp: boolean;
get publicProp() : boolean {
return this._privateProp;
}
set publicProp(values : boolean) {
this._privateProp = values;
}
}
let x: MyClass = new MyClass();
console.log(x); // MyClass {otherProp: false, _privateProp: false}
// Expected output: MyClass {otherProp: false, publicProp: false}
【问题讨论】:
标签: javascript typescript oop properties