Я пишу код, обрабатывающий экземпляр классов (unmarshaller).TypeScript - установить искусственный объект для определенного класса
Во-первых, я создаю объект. Я делаю это, используя let obj = new BaseModel
.
Во время обработки входных данных я в конечном итоге выясню класс объекта без маршаллинга.
У меня есть этот класс, с точки зрения <T extends BaseModel> clazz : { new(): T }
.
Теперь я хотел бы изменить класс объекта, созданного ранее, таким образом, чтобы он не сталкивался с кодом обработки классов TypeScripts.
Правильно ли это?
Object.getPrototypeOf(result).constructor = clazz;
Редактировать: Это не оно. Пока значение свойства остается, консоль браузеров по-прежнему показывает тип, используемый с new
.
Возможно, есть ли конструкция в TypeScript, которая сделает это более совместимым с будущим способом?
Не могли бы вы добавить несколько примеров? Скажем, хотите, чтобы MyClass был классом существующего объекта. –