Typescript:除非使用关键字";作为「;

Typescript:除非使用关键字";作为「;,typescript,Typescript,我不熟悉Typescript,但理解关键字,因为是类型断言。我承诺返回一种类型的接口CodeWork 我有两个常数,我将它们组合成界面的形状,如下所示: const part1 = Object.entries(grabData)[1][1] ?? null; const part2 = Object.entries(grabData)[1][1] ?? null; const allData = {...part1, ...part2}; return allData; 但

我不熟悉Typescript,但理解关键字
,因为
是类型断言。我承诺返回一种类型的接口
CodeWork

我有两个常数,我将它们组合成界面的形状,如下所示:

  const part1 = Object.entries(grabData)[1][1] ?? null;
  const part2 = Object.entries(grabData)[1][1] ?? null;

  const allData = {...part1, ...part2};
  return allData;
但我的代码编辑器显示了一个spread操作符编辑器,上面说“spread类型只能从对象类型创建”。在调试时,数据的形状是正确的,因此我认为这只是一个类型问题

当我将其更改为:

  const part1 = Object.entries(grabData)[1][1] ?? null;
  const part2 = Object.entries(grabData)[1][1] ?? null;

  const allData = {...part1 as CodeWork, ...part2 as CodeWork};
  return allData;

这将不再在编辑器中显示错误。即使数据是相同的形状,我仍然需要使用类型断言?

这是否回答了您的问题?