¿Forma limpia de asignar objetos a otros objetos?
¿Hay una buena manera de asignar objetos a otros objetos? Las recomendaciones de la biblioteca también son bienvenidas.
Por ejemplo, digamos que tengo estas clases:
export class Draft {
id: number;
name: string;
summary: string;
}
export class Book {
id: number;
name: string;
info: Info;
}
export class Info {
value: string;
}
Tradicionalmente, para asignar campos deDraft
aBook
Tendría que hacerlo manualmente para cada campo:
export class Book {
[...]
fromDraft(Draft draft) {
this.id = draft.id;
this.name = draft.name;
this.info = new Info();
this.info.value = draft.summary;
}
}
¿Hay una manera más fácil de asignar campos de objetos que se denominan de la misma manera? Por ejemploDraft
yBook
'sid
yname
campos, al tiempo que también puede definir asignaciones personalizadas, como desdedraft.summary
abook.info.value
.
Tenga en cuenta que esto está lejos de mi caso de uso real. Aquí no es tan malo hacer asignaciones manualmente, pero para los objetos con muchos campos con nombres similares es una tarea difícil.
¡Gracias!