Оператор if ниже оценивается как true, когда type является строкой, и я не могу понять, почему.Это мой код:
const validateType = (instanceDescription, type) => {
if (!type instanceof Type) {
throw new Error(`type property of ${instanceDescription} is not
a (child) instance of class Type`);
}
}
Я не вижу проблемы в моем классе, потому что это действительно просто.Это выглядит так.
class Type {
constructor(key, multipliers) {
this.multipliers = multipliers;
this.key = key;
}
}
Что-то происходит с примером сравнения, о котором я не знаю, или я просто схожу с ума?Я обошел его, проверив, является ли определенное свойство неопределенным, каким оно будет для строки, но я бы предпочел перейти к более понятному варианту instanceof