Typescript Angular:如果未定义(未使用),则默认将所有类成员设置为Null

Typescript Angular:如果未定义(未使用),则默认将所有类成员设置为Null,angular,typescript,angular8,Angular,Typescript,Angular8,有没有一种简单的方法可以将Typescript类中的所有值设置为null,而无需像这样重复手动复制和粘贴。要遵循干燥原则(不要重复)。如果未定义,我希望所有值都为autoset null export class PropertySitusAddress { primaryPropertyMailingAddressId?:number = null; propertyId?:number = null; propertySitusAddressId?:number =

有没有一种简单的方法可以将Typescript类中的所有值设置为null,而无需像这样重复手动复制和粘贴。要遵循干燥原则(不要重复)。如果未定义,我希望所有值都为autoset null

export class PropertySitusAddress {

    primaryPropertyMailingAddressId?:number = null;
    propertyId?:number = null;
    propertySitusAddressId?:number = null;
    addressFormatId?:number = null;
    apn?: string = null;
    owner?: string  = null;
    situsAddress?:string = null;
    primaryMailingAddress?:string = null;   
    streetNumber?: string = null;
    situsFromNumber?: string = null;
    situsThroughNumber?: string = null;
    fractional?: string = null;
    predirectional?: string = null;

首先,键入错误a
并不意味着值可以是
null
,而是意味着它可以是
未定义的

对于您的问题,考虑一下JavaScript输出,您实际上希望所有字段都设置为
null
,因此无法分配它。不过,你可以速记作业,但我不确定它是否会少打字:

导出类PropertySitusAddress{
PrimaryPropertyMailGadDressId?:编号|空;
propertyId?:编号|空;
propertySitusAddressId?:编号|空;
addressFormatId?:数字|空;
apn?:字符串|空;
所有者?:字符串|空;
situsAddress?:字符串| null;
primaryMailingAddress?:字符串| null;
streetNumber?:字符串|空;
situsFromNumber?:字符串|空;
SitustThroughNumber?:字符串| null;
分数?:字符串| null;
预定向?:字符串| null;
构造函数(){
此.primaryPropertyMailGadDressId=
这是我的财产=
此.propertySitusAddressId=
这个.addressFormatId=
这个是apn=
这是我的老板=
这是我的地址=
这是primaryMailingAddress=
这是我的街道号码=
这个是。situsFromNumber=
这是我的电话号码=
这是分数=
this.predirectional=null;
}
}

我想最好的建议是使用带有

的编辑器。如果要使用PropertySitusAddress作为接口,那么属性就不能有默认值。请参考其他解决方法的问题

如果将它们设置为可选,那么无论如何,这些属性将具有未定义的默认值

如果这些属性未在接口中使用,则您可以按照@DoronG的方式实现它,也可以这样做:-

primaryPropertyMailingAddressId: number | null = null;

什么是垂直条运算符?试着用谷歌搜索它,获取一些关于管道的信息,但这是用于html的。在html中,它用于管道。这里它意味着您的属性可以是number或null。仅供参考-你好,阿南德,接受答案并给予分数,也可以随意提出问题,谢谢