当前位置: 首页 > 知识库问答 >
问题:

检查对象的类型[重复]

郭易安
2023-03-14

定义了这种类型

export interface Hostel {
    id: String;
}

我想检查一个对象是否来自该类型,但没有办法。我已经尝试过了

console.log ('************ ', (typeof result === 'Hostel'));
        console.log ('************ ', (typeof result === Hostel));
        console.log ('************ ', result instanceof Hostel);

我有一个错误:

'Hostel' only refers to a type, but is being used as a value here.

共有1个答案

澹台庆
2023-03-14

类型(包括接口)仅在开发和编译时可用,而在运行时不可用。如果要在运行时检查类型,则需要使用类。

export class Hostel {
    constructor(public id: String){};
}

const result = new Hostel("foo");

console.log(result instanceof Hostel) // this will return true
 类似资料:
  • 有没有一种方法可以在freemarker模板中获取对象的类名?

  • 我想检查一个对象是否有新的子对象。我的意思是我有一个带有x嵌套对象的对象,但是如果主对象有新对象,我会检查它。有什么现有的解决方案来检查这个问题吗? 我的目标是如果对象有新项目,则调用函数。每次数组更改时,此代码都会调用该函数。也当一些项目被删除。这部分功能是错误的。有办法修好它吗?

  • 问题内容: 我有一个对象 obj 和一个类名 MyClass ,我可以使用instanceof来检查obj是否为MyClass类型,或者可以说obj.getClass()。equals(“ MyClass”)。所以我想知道是否还有其他检查对象类型的方法。 问题答案: 当心:如果您的对象是的子类,或者它实现了接口(也通常是您感兴趣的-如果您回想起“ IS A” OOP概念),则也返回true。 又见

  • 问题内容: 我有一个接受PDO对象作为参数的方法,以允许用户使用现有连接,而不是该方法打开一个新连接并节省资源: 我知道要检查参数是否为对象,但我想检查是否为PDO对象,而不仅仅是对象。 因为用户可以轻松输入(错误地输入?)另一种对象(一个mysqli或类似的对象),并且整个脚本会破裂。 简而言之:如何检查特定类型对象的变量? 问题答案: 您可以使用: 但是请注意,您不能像否定,所以您应该这样做:

  • 我有一个数组,它由组成。我想对它进行迭代,并找到所有作为数组实例的元素。 如何在Swift中检查对象是否属于给定类型?

  • rank ▲ ✰ vote url 68 354 80 465 url 查看一个对象的类型 有什么方便的方法查看一个对象的类型? 为了获得对象的类型,可以用内建函数type().把对象作为唯一的参数传递将会返回这个对象的类型: >>> type([]) is list True >>> type({}) is dict True >>> type('') is str True >>> type(