【发布时间】:2021-12-15 12:51:36
【问题描述】:
TypeScript/JavaScript 中是否有一个选项可以使用 getter 打印具有私有属性的对象,而不是打印私有属性名称。
例如,我在 TypeScript 中有这个类
class Vehicle {
constructor(private _brand: string, private _year: number) {}
get brand(): string {
return this._brand;
}
get year(): number {
return this._year;
}
set year(year: number) {
this._year = year;
}
set brand(brand: string) {
this._brand = brand;
}
}
const vehicle: Vehicle = new Vehicle('Toyota', 10);
console.log(vehicle);
我知道了
[LOG]: Vehicle: {
"_brand": "Toyota",
"_year": 10
}
但我想知道我是否可以得到这样的东西
[LOG]: Vehicle: {
"brand": "Toyota",
"year": 10
}
【问题讨论】:
-
TypeScript 中的
private和 JavaScript 中的 Private class features 之间存在差异。console.log(vehicle);在 JavaScript 中进行评估,并且属性是公开的。 -
TypeScript 中的私有类属性在 JavaScript 中是公共的:typescriptlang.org/play?#code/…
标签: javascript typescript oop