Index signature(インデックス型)
let foo:any = {};
foo['Hello'] = 'World';
console.log(foo['Hello']); // Worldclass Foo {
constructor(public message: string){};
log(){
console.log(this.message)
}
}
let foo:any = {};
foo['Hello'] = new Foo('World');
foo['Hello'].log(); // Worldlet obj = {
toString(){
console.log('toString called')
return 'Hello'
}
}
let foo:any = {};
foo[obj] = 'World'; // toString called
console.log(foo[obj]); // toString called, World
console.log(foo['Hello']); // WorldTypeScriptのインデックスシグネチャ
インデックスシグネチャを宣言する
すべてのメンバはstringインデックスシグネチャに従わなければならない
stringインデックスシグネチャに従わなければならない限られた個数の文字列リテラルを使う
stringとnumberインデクサの両方を持つ
stringとnumberインデクサの両方を持つデザインパターン:ネストされたインデックスシグネチャ
インデックスシグネチャから特定のプロパティを除外する
最終更新