Javascript 使用接口的空实例

Javascript 使用接口的空实例,javascript,typescript,Javascript,Typescript,我有以下简单的界面EmployeerContact。 如何创建EmployerContact类型的空对象mockEmployerContact,然后在以后为属性赋值?它必须以默认值开始吗? 在我尝试设置lastName和contactEmail时,我的MockEmployeerContact对象未定义 export interface IEmployerContact { lastName: string; email: string; } 在界面中,您将lastName和email

我有以下简单的界面EmployeerContact。 如何创建EmployerContact类型的空对象mockEmployerContact,然后在以后为属性赋值?它必须以默认值开始吗? 在我尝试设置lastName和contactEmail时,我的MockEmployeerContact对象未定义

export interface IEmployerContact {
  lastName: string;
  email: string;
}


在界面中,您将lastName和email设置为对象上的必需属性,因此,如果您希望以后能够填写这些属性,则需要将它们设置为可选属性,如下所示

interface IEmployerContact { lastName?: string; email?: string }

。TypeScript不支持接口上的初始ie默认属性。

为什么不创建它?this.mockEmployerContact={lastName,contactEmail:email}=data;感谢您的帮助。使该mockEmployerContact:EmployerContact |未定义,并处理在调用getEmployerContact并完成请求之前未加载对象的事实。在尝试分配此项时,我仍然看到错误lastName未定义。mockEmployerContact.lastName=data.lastName;我唯一能找到的工作就是mockEmployerContact:EmployerContact={lastName:undefined,email:undefined};我仍然看到错误lastName是未定义的无论这些属性是否为空我唯一能找到的工作是mockEmployerContact:EmployerContact={lastName:undefined,email:undefined}@noclist这是因为属性本身定义不正确,对于接口,您无法在对象属性上设置默认值/init值,因此接口唯一要做的就是确保如果您将属性设置为required,则在创建类型为x的对象时,会定义x.requiredProperty
interface IEmployerContact { lastName?: string; email?: string }