instanceof接受字符串作为我的类型类Javascript的实例

instanceof接受字符串作为我的类型类Javascript的实例,javascript,class,instanceof,Javascript,Class,Instanceof,当type是字符串时,下面的if语句的计算结果为true,我似乎不知道为什么。这是我的代码: const validateType = (instanceDescription, type) => { if (!type instanceof Type) { throw new Error(`type property of ${instanceDescription} is not a (child) insta

当type是字符串时,下面的if语句的计算结果为true,我似乎不知道为什么。这是我的代码:

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选项,因为括号在这里会有所不同<代码>的优先级高于
instanceof
,因此不带括号,您的测试将询问
false
是否为
类型的实例:

类类型{
构造函数(键、乘数){
这个。乘数=乘数;
this.key=key;
}
}
让t=“somestring”

如果(!(t instanceof Type)){/括号在此处起作用,因为。
的优先级高于
instanceof
,因此不带括号,测试将询问
false
是否为
Type
的实例:

类类型{
构造函数(键、乘数){
这个。乘数=乘数;
this.key=key;
}
}
让t=“somestring”

如果(!(类型的t实例)){//更准确地说,是哪种语言?没有标记来标记该语言。您可以添加如何调用
validateType
函数,以及使用什么参数吗?更准确地说,是哪种语言?没有标记来标记该语言。您可以添加如何调用
validateType
函数,以及使用什么参数吗埃特斯?