有没有一种将对象映射到其他对象的好方法?图书馆建议也欢迎。干净的方式来映射对象到其他对象?
例如,说我有这些类:
export class Draft {
id: number;
name: string;
summary: string;
}
export class Book {
id: number;
name: string;
info: Info;
}
export class Info {
value: string;
}
传统上,映射来自Draft
到Book
领域我不得不每场人工手动操作:
export class Book {
[...]
fromDraft(Draft draft) {
this.id = draft.id;
this.name = draft.name;
this.info = new Info();
this.info.value = draft.summary;
}
}
有映射以相同方式命名的对象字段的更简单方法?例如Draft
和Book
的id
和name
字段,同时也能够定义自定义映射,如从draft.summary
到book.info.value
。
请注意,这远离我的实际使用情况。这里手动分配并不难,但对于具有许多类似命名字段的对象来说,这相当麻烦。
谢谢!
真的不确定你的问题是什么意思,但是你能不能简单地将'Book'和'Draft'抽象成共享公共字段的更一般的父类,并且从那个父类中扩展?或者,您可以使用[装饰器](https://tc39.github.io/proposal-decorators/)。 – d4nyll
这可能是一个选项,谢谢! – mintychai