Итак, здесь я пытаюсь создать тип интерфейса объекта, который будет содержать только определенные интерфейсы. Например:Как объявить итерируемый объект другого типа интерфейса?
export interface IUser {
name: string;
last: string;
};
export interface IRoom {
users: Object<IUser>; // this is wrong.
}
Я ожидаю, что пользователи будут что-то вроде:
Users: {
'user_id_goes_here': {
name: 'John',
last: 'Doe'
},
'user_id_goes_here': {
name: 'Albert',
last: 'Einstein'
},
...
}
Есть ли способ, чтобы определить тип элемента интерфейса, как это?
Спасибо за ответ! Я не был уверен, что я должен искать в Google. Теперь я помню, что это тип карты. – Nika
Несомненно, подписи индекса предназначены для моделирования объектов, подобных карте, в JavaScript, но не очевидно, что они будут вызывать. Надеюсь, кто-то ищет этот ответ. В качестве хэдз-ада, если все, что вы используете для этого типа, это тип, вы можете использовать декларацию 'interface' вместо' class' (так как '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' ' –
Вы правы. Я забыл упомянуть интерфейс, это был быстро написанный пример, не задумываясь и усталый. Спасибо за консультацию! P.S отредактировал вопрос, заменил класс на интерфейс. – Nika