打字稿中的不同类型

时间:2019-12-13 10:27:11

标签: javascript angular typescript types

我在考虑一个好的解决方案,当一个函数可以返回两种不同类型时,如何区分类型。举例来说,我目前正在为Excel开发一些东西,可以从Office API获取数据。

此字符串数据根据“ Cell”还是“ CellRange”而不同。

出于示例目的,我将实际逻辑替换为this.checkSomething,这并没有改变问题。

detectCoordinateOrCell(adress: string): CellRange|Cell {
    if (this.checkSomething(address)) {
      return new CellRange(adress);
    } else {
      return new Cell(adress);
    }
}

从此detectCoordinateOrCell方法接收到一些对象之后,通常如何检查这些类型?

  • 添加一些帮助方法?
  • 到处都是if / else
  • 在课堂上(Cell / CellRange)?
  • 或完全不同的东西

我尝试实现更简洁的代码和更好的代码设计。我知道可能不仅有确切的解决方案,而且您可能比我知道的更多有关Typescript的信息。

1 个答案:

答案 0 :(得分:0)

您可以使用 CellRange的地址实例 单元格的地址实例