在我使用 TypeScript 的项目中,我有一个类似的类
class Car {
model: string;
year: number;
price: string;
constructor(model: string, year: number, price: string) {
this.model = model;
this.number = number;
this.price = price;
}
}
我必须从 json 文件读取数据。首先,我需要检查文件中的数据是否具有与 Car 类相同的属性。 我不想哈希代码
fileData.hasOwnProperty('model')
。我的想法和fileData.hasOwnProperty(Car.model)
类似。我想将类属性设置为 Car 类的静态推荐属性。
我希望能够以返回属性名称或类似信息的方式引用类中的任何属性,例如 Car.model、Car.year 或 Car.price...。
你对此有什么想法吗?非常感谢你
我尝试了如下。但我认为这不是一个好主意。因为以后如果我添加更多5个属性,我还必须添加5个相应的方法。在这种情况下我不想添加更多方法。
class Car {
model: string;
year: number;
price: string;
constructor(model: string, year: number, price: string) {
this.model = model;
this.number = number;
this.price = price;
}
static model() {
return 'model';
}
static year() {
return 'year';
}
static price() {
return 'price';
}
}
我也尝试如下。但是当我想调用Car.properties.model时它没有推荐属性名称
class Car {
model: string;
year: number;
price: string;
constructor(model: string, year: number, price: string) {
this.model = model;
this.number = number;
this.price = price;
}
static properties() {
return Object.getOwnPropertyNames(Car).map((property) => { property });
}
}
class Car {
model: string;
year: number;
price: string;
constructor(model: string, year: number, price: string) {
this.model = model;
this.number = number;
this.price = price;
}
static properties = ['model', 'number', 'price'] satisfies (keyof Car)[];
}