扩展接口 NodeJS

Extends Interface NodeJS

我有一个界面:

interface MyInterface {
  id: number;
  name: string;
  ...
}

我想在 forEach 中扩展它:

AllData.forEach((extendsInterface: MyInterface extends { newVar: string }) => {
   extendsInterface.newVar = "Hello World";
}

我有这个错误:'?' Expected{ newVar: string }

之后的 )

不知道我做错了什么 谢谢!

编辑:

如果我在行外创建 MyInterfaceExt,或使用 & 而不是 extends,我会出现此错误:

Argument of type '(extendsInterface: MyInterfaceExt) => void' is not assignable to parameter of type '(value: MyInterface, index: number, array: MyInterface[]) => void'.
Types of parameters 'extendsInterface' and 'value' are incompatible.
Property 'newVar' is missing in type 'MyInterface' but required in type 'MyInterfaceExt'

如评论中所述,您可以选择:

interface MyInterfaceExt extends MyInterface { 
  newVar?: string;
}

或者如果你想添加内联,调用 intersection-type

MyInterface & { newVar?: string }