能否请您解释以下构造函数的含义?我不知道这是什么定义...
export class Item {
constructor(fields: any) {
// Quick and dirty extend/assign fields to this model
for (const f in fields) {
// @ts-ignore
this[f] = fields[f];
}
}
}
答案 0 :(得分:1)
这允许调用代码以fields
的形式传递任何对象,然后获取该对象的所有可枚举属性(包括继承的属性)并将其值复制到正在创建的Item
的实例中。 “快速而肮脏的”是通常可以正常工作的代码的通用术语,但可能不是最佳实践。 (在TypeScript中,该代码当然不是最佳实践; Item
应该定义其形状[属性和方法],并且仅具有为其定义的属性。)