1. ホーム
  2. タイプスクリプト

[解決済み】TypeScriptとフィールドイニシャライザー

2022-03-25 12:21:22

質問

このような方法でTSの新しいクラスを開始する方法(私が望むものを示すためにC#の例)。

// ... some code before
return new MyClass { Field1 = "ASD", Field2 = "QWE" };
// ...  some code after

解決方法は?

更新情報

この回答を書いてから、より良い方法が出てきました。より多くの票を獲得し、より良い答えを得た他の回答を以下にご覧ください。この回答は受理済みとマークされているので、削除することはできません。


古い回答

TypeScriptのcodeplexに、このことを説明したissueがあります。 オブジェクトイニシャライザーのサポート .

前述の通り、TypeScriptでクラスの代わりにインターフェイスを使うことで、すでに実現できています。

interface Name {
    givenName: string;
    surname: string;
}
class Person {
    name: Name;
    age: number;
}

var bob: Person = {
    name: {
        givenName: "Bob",
        surname: "Smith",
    },
    age: 35,
};