У меня есть классы буксировки:
class A {
name: string;
age: number;
constructor(name: string, age: number) {
this.name = name;
this.age = age;
}
}
class B extends A {
}
Также у меня есть объект, в котором я хочу использовать экземпляры этих классов в качестве ключей:
const storage: Storage = {};
Так это будет выглядеть так:
const a = new A('Neo', 25);
const b = new A('Smith', 31);
storage[a] = 'What are you trying to tell me? That I can dodge bullets?';
storage[b] = 'Never send a human to do a machine's job.'
А потом я хочу различать значение ключами, например:
const keys = Object.keys(storage);
keys.forEach(key => {
if (key instanceof A) {
console.log('This is Neo');
} else if (key instanceof B) {
console.log('This is Smith');
}
})
Как должен выглядеть Storage
интерфейс, потому что в машинописи
Тип параметра подписи индекса должен быть «строка» или «число»