代码之家  ›  专栏  ›  技术社区  ›  Ling Vu

Typescript中的不同类型

  •  0
  • Ling Vu  · 技术社区  · 5 年前

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

    此数据作为字符串可以根据是“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
    • 在课堂上(单元/单元范围)?
    • 或者完全不同的东西

    我试图获得更干净的代码和更好的代码设计。我知道可能不止一个解决方案,但你可能比我更了解打字。

    0 回复  |  直到 5 年前
        1
  •  0
  •   Mantu Nigam    5 年前

    你可以用 单元格的地址实例