Yeni bir sınıfı TSbu şekilde nasıl başlatabilirim ( C#ne istediğimi göstermek için örnek ):
// ... some code before
return new MyClass { Field1 = "ASD", Field2 = "QWE" };
// ... some code after
[değiştir]
Bu soruyu yazarken ben JS bilgisi olmadan çok saf NET geliştiricisi oldu. Ayrıca TypeScript, JavaScript'in yeni C # tabanlı üst kümesi olarak açıklanan tamamen yeni bir şeydi. Bugün bu sorunun ne kadar aptal olduğunu görüyorum.
Her neyse, hala bir cevap arayan varsa, lütfen aşağıdaki olası çözümlere bakın.
Dikkat edilmesi gereken ilk şey TS'de modeller için boş sınıflar oluşturmamalıyız. Daha iyi bir yol, arayüz veya tür oluşturmaktır (ihtiyaçlara bağlı olarak). Todd Slogan'dan iyi makale: https://ultimatecourses.com/blog/classes-vs-interfaces-in-typescript
ÇÖZÜM 1:
type MyType = { prop1: string, prop2: string };
return <MyType> { prop1: '', prop2: '' };
ÇÖZÜM 2:
type MyType = { prop1: string, prop2: string };
return { prop1: '', prop2: '' } as MyType;
ÇÖZÜM 3 (gerçekten bir sınıfa ihtiyacınız olduğunda):
class MyClass {
constructor(public data: { prop1: string, prop2: string }) {}
}
// ...
return new MyClass({ prop1: '', prop2: '' });
veya
class MyClass {
constructor(public prop1: string, public prop2: string) {}
}
// ...
return new MyClass('', '');
Tabii ki her iki durumda da işlev / yöntem dönüş türünden çözülecekleri için döküm türlerine manuel olarak ihtiyacınız olmayabilir.
return new MyClass { Field1: "ASD", Field2: "QWE" };