Как я могу скопировать / клонировать класс машинописи? Родительский класс содержит вложенный класс, а также коллекцию вложенного класса. Каждый тип класса содержит геттер.
Я хотел бы, чтобы скопированный класс не потерял получатели, а вложенный класс и элементы массива получили новую ссылку.
Мои проблемы в том, что JSON.parse(JSON.stringify( obj ));
не скопировал геттеры. и Object.assign(target, soure);
скопировал получатели, но элементы массива сохраняют исходные ссылки.
Вот структура классов
export interface IClassA {
code: number;
description: string;
}
export class ClassA implements IClassA {
code: number;
description: string;
get descrAndCode() {
return 'Getter A ' + this.description + ':' + this.code;
}
}
export interface IClassB {
name: string;
code: number;
classList: Array<ClassA>;
}
export class ClassB implements IClassB {
name: string;
code: number;
get codeAndName(): string {
return 'Getter B' + this.code + ':' + this.name;
}
nested: ClassA;
classList: Array<ClassA>;
}