Так что в основном я не понял идею ответа, с которой лучше согласиться. Класс? потому что вы подробно это описали. Но запутался в то же время, как вы упомянули "вы, возможно, соблазн" Так что, если мне придется сравнивать все свойства, а не просто свойства плавания, как в документах для охранников типа?
исал этот код
interface Foo {
abcdef: number;
}
let x: Foo | string;
if (x instanceof Foo) {
// ...
}
Но TypeScript дал мне эту ошибку:
'Foo' only refers to a type, but is being used as a value here.
Почему это происходит? я думал чтоinstanceof
мог бы проверить, имеет ли мое значение заданный тип, но TypeScript, кажется, не нравится это.