То, что что-то имеет те же свойства, что и класс, не означает, что он является экземпляром класса.В вашем случае ответ от сервера, вероятно, анализируется с помощью JSON.parse
, который создает простые объекты.Только объекты, созданные с использованием new GetSliceResponse
, на самом деле будут экземплярами класса.
Параметр type для метода post предназначен для описания формы ответа, но на самом деле не изменит поведение среды выполнения (и не можетгенетика стирается во время компиляции).
При этом можно по-прежнему обращаться к свойствам объекта, как если бы объект был экземпляром класса, единственное, что не будет работать, это instanceof
ине ожидайте присутствия какого-либо метода.
Если вы хотите убедиться, что никто не использует instanceof
по ошибке, вы можете вместо этого создать интерфейс типа am.
Если вам действительно нужен классВы можете создать экземпляр, используя new
и использовать Object.assign
, чтобы назначить все поля
export class GetSliceResponse
{
Success: boolean;
}
Axios.post<GetSliceResponse>("myurl/Get", request).then(o => {
o = Object.assign(new GetSliceResponse(), o);
});