interface A { a(): string };
interface B { b(): string };
function f(x: A | B): string {
if ("a" in x) {
return x.a();
} else {
return x.b();
}
}
const x = { a: 10, b() { return "hello"; } };
const y: B = x;
f(y);то есть вот пример, когда тс говорит все ок, а все не ок