Как написать функцию, которая принимает другой тип ввода?
Я хочу написать функцию, которая принимает Виктора как (array | object: {x, y}); Но TypeScript часто жалуется!
I t
function dist(x1,y1,x2 = 0,y2 = 0) {
if (x1?.constructor == Array && y1?.constructor == Array) {
return dist(...x1, ...y1);
}
if (x1?.constructor == Object && y1?.constructor == Object) {
return dist(x1.x, x1.y, y1.x, y1.y);
}
let a = x2 - x1,
b = y2 - y1;
return Math.sqrt(a * a + b * b);
}
console.log(
dist(0,0,1,1),
dist([0,0],[1,1]),
dist({x:0,y:0},{x:1,y:1})
)
hink Это неправильный способ сделать это. Также TypeScript совсем не устраивает.