假设我有以下类:
export class Complex {
/**
* Representation of a complex number
*
* @param _re
* @param _im
*/
constructor(private _re: number, private _im: number = 0) {
}
/** implementation details truncated **/
}
现在我想写下面的函数:
function add(z1: Complex | number, z2: Complex | number): Complex {
if (/** z1 is number **/) {
z1 = new Complex(z1)
}
if (/** z2 is number **/) {
z2 = new Complex(z2)
}
return z1.add(z2)
}
用 typescript 写这篇文章最干净、最习惯的方法是什么?
1条答案
按热度按时间rsl1atfo1#
在给定代码模板的情况下,最惯用的方法是使用
typeof
类型保护,如下所示:Playground链接到代码