Javascript 数字的Angular Typescript接口在form validation中设置为null,若未设置,则一元加运算符将抛出错误

Javascript 数字的Angular Typescript接口在form validation中设置为null,若未设置,则一元加运算符将抛出错误,javascript,angular,typescript,unary-operator,Javascript,Angular,Typescript,Unary Operator,虽然我知道有几种方法可以设置angular typescript接口,然后与之交互。。这是我的问题 我设置了界面 export interface EditUPC { weight: number, // other fields } 然后在组件中以反应形式出现 private initForms(fb: FormBuilder){ upcForm: fb.group({ weight: null, // other fields

虽然我知道有几种方法可以设置angular typescript接口,然后与之交互。。这是我的问题

我设置了界面

export interface EditUPC {
    weight: number,
    // other fields
}
然后在组件中以反应形式出现

private initForms(fb: FormBuilder){
   upcForm: fb.group({
     
      weight: null,
      // other fields
   })
}
接下来是保存表单

由于要转换为数字的“+”一元运算符,此行以“无法读取Null的属性”结束

 this.upcEdit = 
 {
     weight: +this.form.get('upcForm').get('weight').value,
     //other fields
 }

因此,虽然我可以在几个数字字段上编写函数或条件,但有没有更简单/更好的方法?

您可以使用
getRawValue()
将表单转换为对象


那么,这会对我想成为一个数字有什么影响呢?因此,我将表单中的值设置为null,然后由于它是可选字段,用户将其保留为空,并使用+,这将强制它为数字,然后当我执行JSON.stringify时。。。我肯定不会使用引号,因为它是一个字符串-请考虑修改您的输入,使其像这样键入number

this.upcEdit = upcForm.getRawValue();