扩展接口 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 }
我有一个界面:
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 }