Como iniciar uma nova classe TS
dessa maneira (exemplo C#
para mostrar o que eu quero):
// ... some code before
return new MyClass { Field1 = "ASD", Field2 = "QWE" };
// ... some code after
[edit]
Quando eu estava escrevendo esta pergunta, eu era desenvolvedor .NET puro, sem muito conhecimento de JS. Além disso, o TypeScript era algo completamente novo, anunciado como um novo superconjunto de JavaScript baseado em C #. Hoje vejo como essa pergunta foi estúpida.
De qualquer forma, se alguém ainda estiver procurando por uma resposta, observe as possíveis soluções abaixo.
A primeira coisa a observar é que no TS não devemos criar classes vazias para modelos. A melhor maneira é criar interface ou tipo (dependendo das necessidades). Bom artigo de Todd Motto: https://ultimatecourses.com/blog/classes-vs-interfaces-in-typescript
SOLUÇÃO 1:
type MyType = { prop1: string, prop2: string };
return <MyType> { prop1: '', prop2: '' };
SOLUÇÃO 2:
type MyType = { prop1: string, prop2: string };
return { prop1: '', prop2: '' } as MyType;
SOLUÇÃO 3 (quando você realmente precisa de uma aula):
class MyClass {
constructor(public data: { prop1: string, prop2: string }) {}
}
// ...
return new MyClass({ prop1: '', prop2: '' });
ou
class MyClass {
constructor(public prop1: string, public prop2: string) {}
}
// ...
return new MyClass('', '');
Obviamente, nos dois casos, você pode não precisar de tipos de conversão manualmente, porque eles serão resolvidos a partir do tipo de retorno de função / método.
return new MyClass { Field1: "ASD", Field2: "QWE" };