检查TypeScript中的接口类型

时间:2018-08-15 04:13:05

标签: typescript

AUTH_USER_MODEL = 'myApp.User'

在上述情况下,我有一个interface IData { firstName: string; lastName: string; } interface IDemo { Events: { GetItem: (callback: (data: IData) => void) => void; } } const item = { Events: { GetItem: //mock function } } if (item is of type IDemo) 接口,它包含一个对象IDemo,而该对象又具有一个称为Events的对象-一个函数。

我想检查GetItem是否为const item类型。我该如何实现?

1 个答案:

答案 0 :(得分:2)

由于item来自ajax响应,因此您正在寻找某种运行时类型检查。 TS接口是编译时实体,因此您需要使用自己的type guard.

创建自己的运行时检查

类似的东西:

function isIDemo(item: any): item is IDemo {
    return typeof item.first === 'string' && typeof item.last === 'string';
}