Как типизировать одно свойство объекта, с неизвестным количеством свойств

такой вопрос - получаем объект с неизвестным количеством свойств, но в нем должно быть обязательно свойство - id например obj = { id:1 name:vasy age:30 ... }

как написать тип, чтобы этот объект обязательно содержал нужное свойство, а другие свойства могут быть либо нет и знать о них нам не нужно?


Ответы (1 шт):

Автор решения: SwaD

Как вариант: тип, где должен быть обязательно ключ id. Остальные ключи могут иметь любое имя и тип данных строка или число(можно расширить при необходимости)

interface Main {
  id: number;
}

interface ExtMain extends Main {
  [key: string]: string | number;
}

Или просто

interface Main {
  [key: string]: string | number;
  id: number;
}
→ Ссылка