Другой вариант - создать список имен общих свойств, а затем повторить его:

ли хороший способ сопоставить объекты с другими объектами? Рекомендации библиотеки тоже приветствуются.

Например, скажем, у меня есть эти классы:

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«sid а такжеname поля, а также возможность определить пользовательские сопоставления, как изdraft.summary вbook.info.value.

Обратите внимание, что это далеко от моего фактического варианта использования. Здесь не так уж плохо делать назначения вручную, но для объектов со многими одноименными полями это довольно хлопотно.

Спасибо!

Ответы на вопрос(0)

Ваш ответ на вопрос