Jak zainicjować nową klasę w TStaki sposób (przykład, C#aby pokazać, czego chcę):
// ... some code before
return new MyClass { Field1 = "ASD", Field2 = "QWE" };
// ... some code after
[edytuj]
Kiedy pisałem to pytanie, byłem czystym programistą .NET bez dużej wiedzy o JS. Również TypeScript był czymś zupełnie nowym, ogłoszonym jako nowy nadzbiór JavaScript oparty na języku C #. Dziś widzę, jak głupie było to pytanie.
W każdym razie, jeśli ktoś nadal szuka odpowiedzi, zapoznaj się z możliwymi rozwiązaniami poniżej.
Pierwszą rzeczą do odnotowania jest to, że w TS nie powinniśmy tworzyć pustych klas dla modeli. Lepszym sposobem jest utworzenie interfejsu lub typu (w zależności od potrzeb). Dobry artykuł od Todda Motto: https://ultimatecourses.com/blog/classes-vs-interfaces-in-typescript
ROZWIĄZANIE 1:
type MyType = { prop1: string, prop2: string };
return <MyType> { prop1: '', prop2: '' };
ROZWIĄZANIE 2:
type MyType = { prop1: string, prop2: string };
return { prop1: '', prop2: '' } as MyType;
ROZWIĄZANIE 3 (kiedy naprawdę potrzebujesz zajęć):
class MyClass {
constructor(public data: { prop1: string, prop2: string }) {}
}
// ...
return new MyClass({ prop1: '', prop2: '' });
lub
class MyClass {
constructor(public prop1: string, public prop2: string) {}
}
// ...
return new MyClass('', '');
Oczywiście w obu przypadkach typy rzutowania mogą nie być potrzebne ręcznie, ponieważ zostaną one usunięte z typu zwracanego przez funkcję / metodę.
return new MyClass { Field1: "ASD", Field2: "QWE" };