类型返回null的方法返回类型

时间:2019-07-28 17:37:51

标签: angular typescript object types null

我的问题很简短,我将举一个例子。我上一些课:

class A {
  public property: Property;

  constructor(data: any) {
    this.property = this.parseProperty(data)
  }

  private parseProperty(): Property {
    return data.property
      ? {
          name: data.property.name,
          code: data.property.code,
        }
      : null;
  }
}

鉴于上面的示例,我应该添加'| null”为parseProperty方法的返回类型?有什么暗示吗?另外,我应该添加|属性声明为null?没有它,它可以很好地工作。

1 个答案:

答案 0 :(得分:0)

要视情况而定。

如果您将TypeScript项目配置为使用严格的null检查,则Poperty类型的值不能为null。因此,只有在使用

时,您的代码才会编译
public property: Property | null;

private parseProperty(): Property | null {

如果您没有这样做,那么从根本上来说,这取决于代码的可读性和详细程度。您可以选择更详细些,但使用

可以更清楚地了解变量的含义
public property: Property | null;

通过阅读该代码,您或您的同事将记住该值可以为null,并且需要考虑这种情况。

或者您可以确定它是隐式的还是太冗长的,并保持原样。

有时候,值显然可以为null。有时,很明显它们不可能为null。有时,它一点都不明显,即使不激活严格的null检查,将其显式也可以提供帮助。

相关问题