检查对象的类型[重复]

Posted

技术标签:

【中文标题】检查对象的类型[重复]【英文标题】:check the type of an object [duplicate] 【发布时间】:2020-04-27 03:54:57 【问题描述】:

我已经定义了这个类型

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.

【问题讨论】:

你得到的输出是什么 这能回答你的问题吗? Interface type check with Typescript 还有***.com/questions/44078205/… 【参考方案1】:

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

export class Hostel 
    constructor(public id: String);


const result = new Hostel("foo");

console.log(result instanceof Hostel) // this will return true

【讨论】:

以上是关于检查对象的类型[重复]的主要内容,如果未能解决你的问题,请参考以下文章

在字典中查找元素并检查对象的类型[重复]

我如何检查对象的类型? [复制]

c#检查确切类型[重复]

检查 Swift 数组上的重复属性

检查对象是不是具有属性[重复]

Python:检查范围内是不是存在对象[重复]