オブジェクトを辞書として使用する 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