Cómo iniciar una nueva clase de TStal manera (ejemplo C#para mostrar lo que quiero):
// ... some code before
return new MyClass { Field1 = "ASD", Field2 = "QWE" };
// ... some code after
[editar]
Cuando escribía esta pregunta, era un desarrollador puro de .NET sin mucho conocimiento de JS. También TypeScript era algo completamente nuevo, anunciado como un nuevo superconjunto de JavaScript basado en C #. Hoy veo cuán estúpida fue esta pregunta.
De todos modos, si alguien todavía está buscando una respuesta, consulte las posibles soluciones a continuación.
Lo primero a tener en cuenta es que en TS no deberíamos crear clases vacías para los modelos. La mejor manera es crear una interfaz o tipo (según las necesidades). Buen artículo de Todd Motto: https://ultimatecourses.com/blog/classes-vs-interfaces-in-typescript
SOLUCIÓN 1:
type MyType = { prop1: string, prop2: string };
return <MyType> { prop1: '', prop2: '' };
SOLUCIÓN 2:
type MyType = { prop1: string, prop2: string };
return { prop1: '', prop2: '' } as MyType;
SOLUCIÓN 3 (cuando realmente necesitas una clase):
class MyClass {
constructor(public data: { prop1: string, prop2: string }) {}
}
// ...
return new MyClass({ prop1: '', prop2: '' });
o
class MyClass {
constructor(public prop1: string, public prop2: string) {}
}
// ...
return new MyClass('', '');
Por supuesto, en ambos casos, es posible que no necesite tipos de conversión manualmente porque se resolverán a partir del tipo de retorno de función / método.
return new MyClass { Field1: "ASD", Field2: "QWE" };