我有这个界面:

interface Metadata {
  key: string,
  value: string,
  option1: string, // optional parameter
  option2: string, // optional parameter
  option3: string // optional parameter
}

当我尝试以这种方式创建类型化对象时:
const a: Metadata = {key: 'obligatory', value: 'obligatory', option1 : 'optional '};

我收到此错误:
error TS2322: Type '{key: 'obligatory', value: 'obligatory', option1 : 'optional '}' is not assignable to type 'Metadata'.
  Property 'option2' is missing in type '{key: 'obligatory', value: 'obligatory', option1 : 'optional '}'.

是否可以创建对象而不必传递所有属性?

最佳答案

添加一个?设置为可选参数在界面内的参数。像option1?: string等。

关于object - typescript : how to create a typed object without passing all the properties,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/48117193/

10-10 16:45