Come avviare una nuova classe in TS
modo tale (esempio in C#
per mostrare ciò che voglio):
// ... some code before
return new MyClass { Field1 = "ASD", Field2 = "QWE" };
// ... some code after
[modifica]
Quando stavo scrivendo questa domanda, ero un puro sviluppatore .NET senza molta conoscenza di JS. Anche TypeScript era qualcosa di completamente nuovo, annunciato come nuovo superset di JavaScript basato su C #. Oggi vedo quanto sia stata stupida questa domanda.
Comunque, se qualcuno è ancora alla ricerca di una risposta, per favore, guarda le possibili soluzioni di seguito.
La prima cosa da notare è che in TS non dovremmo creare classi vuote per i modelli. Il modo migliore è creare un'interfaccia o un tipo (a seconda delle esigenze). Buon articolo da Todd Motto: https://ultimatecourses.com/blog/classes-vs-interfaces-in-typescript
SOLUZIONE 1:
type MyType = { prop1: string, prop2: string };
return <MyType> { prop1: '', prop2: '' };
SOLUZIONE 2:
type MyType = { prop1: string, prop2: string };
return { prop1: '', prop2: '' } as MyType;
SOLUZIONE 3 (quando hai davvero bisogno di una lezione):
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('', '');
Ovviamente in entrambi i casi potrebbe non essere necessario eseguire manualmente i tipi di cast perché verranno risolti dal tipo restituito da funzione / metodo.
return new MyClass { Field1: "ASD", Field2: "QWE" };