Тип Объект, созданный с использованием деструктурированного объекта и оператора распространения - PullRequest
0 голосов
/ 06 июля 2019

Я хочу напечатать foo, который я создал следующим образом:

interface IFoo {
  b: number;
  c: number;
}
interface IBar {
  a: number;
  b: number;
  c: number;
}
const bar: IBar = { a: 1, b: 2, c:3 };
const { a, ...foo } = bar;

Я видел на других сообщениях SO, что я могу решить это так:

const { a, ...foo }: { a: number, foo: IFoo } = bar;

Нозатем я получаю следующую ошибку:foo: IFoo;}».Свойство 'foo' отсутствует в типе 'IBar'.

Я нашел следующее решение:

const typedFoo: IFoo = foo;

теперь я могу использовать typedFoo кактипизированный объект вместо foo - но это я считаю не элегантным.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...