首页 > 解决方案 > 在 TypeScript 中定义模型类

问题描述

目前我以这种方式定义我的模型类:

export class Company {
  constructor(
    public id?: number,
    public name?: string,
    public shortName?: string
  ) {}
}

我使用的原因是,在这种情况下,如果我想将空对象分配给这样的变量?,我不会收到没有提供属性值的错误:company

this.editDataItem = new Company();

我可以以某种方式避免?在模型声明中使用吗?或者,如果我想在不声明所有属性的情况下将空实例分配给变量,这是正确的方法吗?有没有这方面的最佳实践?

标签: angulartypescript

解决方案


你也可以这样做,它是在 JS 中。

class Company {
  constructor(
     id = 0,
     name = '',
     shortName = ''
  ) {}
}

const company1 = new Company();

console.log(company1);

在 Typescript 中,您可以这样做:

export class Company {
  constructor(
    public id: number = 0,
    public name: string = '',
    public shortName: string = ''
  ) {}
}

const company1 = new Company();

console.log(company1);

上面的代码片段将帮助您设置默认值,即使它们没有被传递。这可能是实现这一目标的更好方法,?接受undefined为价值。


推荐阅读