我在考虑一个好的解决方案,当一个函数可以返回两种不同类型时,如何区分类型。举例来说,我目前正在为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
方法接收到一些对象之后,通常如何检查这些类型?
我尝试实现更简洁的代码和更好的代码设计。我知道可能不仅有确切的解决方案,而且您可能比我知道的更多有关Typescript的信息。
答案 0 :(得分:0)
您可以使用 CellRange的地址实例 单元格的地址实例