TypeScript オブジェクトを C# の辞書型として使用する 質問する

TypeScript オブジェクトを C# の辞書型として使用する 質問する

オブジェクトを辞書として使用する JavaScript コードがいくつかあります。たとえば、「person」オブジェクトには、電子メール アドレスから入力された個人情報が保持されます。

var people = {<email> : <'some personal data'>};

adding   > "people[<email>] = <data>;" 
getting  > "var data = people[<email>];" 
deleting > "delete people[<email>];"

これを Typescript で記述することは可能ですか? それとも配列を使用する必要がありますか?

ベストアンサー1

TypeScript の新しいバージョンでは以下を使用できます:

type Customers = Record<string, Customer>

古いバージョンでは以下を使用できます:

var map: { [email: string]: Customer; } = { };
map['[email protected]'] = new Customer(); // OK
map[14] = new Customer(); // Not OK, 14 is not a string
map['[email protected]'] = 'x'; // Not OK, 'x' is not a customer

毎回型注釈全体を入力したくない場合は、インターフェースを作成することもできます。

interface StringToCustomerMap {
    [email: string]: Customer;
}

var map: StringToCustomerMap = { };
// Equivalent to first line of above

おすすめ記事