相关疑难解决方法(0)

TypeScript instanceof无法正常工作

我在使用instanceof运算符时遇到问题,但它似乎不起作用.这是我的代码的一部分:

        const results = _.map(items, function(item: Goal|Note|Task, index: number) { 
            let result = {};
            if (item instanceof Goal) {
                result = { id: index, title: item.name };
            } else if (item instanceof Note) {
                result = { id: index, title: item.content.text };
            } else if (item instanceof Task) {
                result = { id: index, title: item.name };
            }

            console.log(item);
            console.log(item instanceof Goal);
            console.log(item instanceof Note);
            console.log(item instanceof Task);

            return result; 
        });
Run Code Online (Sandbox Code Playgroud)

我的所有日​​志都显示为false,这是控制台的样子:

没有匹配的类型

尽管明确只有3种类型是可能的,但它们都没有匹配.您还可以看到对象本身的类型名称为Goal,因此我不明白为什么它与目标的instanceof不匹配.

有任何想法吗?

javascript types casting instanceof typescript

6
推荐指数
3
解决办法
9154
查看次数

标签 统计

casting ×1

instanceof ×1

javascript ×1

types ×1

typescript ×1