そのような方法で新しいクラスを初期化するTS方法(C#私が欲しいものを示すための例):
// ... some code before
return new MyClass { Field1 = "ASD", Field2 = "QWE" };
// ... some code after
[編集]
この質問を書いているとき、JSの知識がほとんどない純粋な.NET開発者でした。TypeScriptもまったく新しいもので、JavaScriptの新しいC#ベースのスーパーセットとして発表されました。今日、私はこの質問がどれほど愚かだったかを知りました。
とにかく、まだ誰かが答えを探しているなら、下の可能な解決策を見てください。
最初に注意すべきことは、TSでモデルの空のクラスを作成しないことです。より良い方法は、インターフェースまたはタイプを作成することです(必要に応じて)。Todd Mottoの良い記事:https : //ultimatecourses.com/blog/classes-vs-interfaces-in-typescript
解決策1:
type MyType = { prop1: string, prop2: string };
return <MyType> { prop1: '', prop2: '' };
解決策2:
type MyType = { prop1: string, prop2: string };
return { prop1: '', prop2: '' } as MyType;
ソリューション3(本当にクラスが必要な場合):
class MyClass {
constructor(public data: { prop1: string, prop2: string }) {}
}
// ...
return new MyClass({ prop1: '', prop2: '' });
または
class MyClass {
constructor(public prop1: string, public prop2: string) {}
}
// ...
return new MyClass('', '');
もちろんどちらの場合でも、関数/メソッドの戻り値の型から解決されるため、手動で型をキャストする必要はありません。
return new MyClass { Field1: "ASD", Field2: "QWE" };