Interface type check with Typescript

前端 未结 17 1273
灰色年华
灰色年华 2020-11-22 14:09

This question is the direct analogon to Class type check with TypeScript

I need to find out at runtime if a variable of type any implements an interface. Here\'s my

17条回答
  •  春和景丽
    2020-11-22 14:43

    I found an example from @progress/kendo-data-query in file filter-descriptor.interface.d.ts

    Checker

    declare const isCompositeFilterDescriptor: (source: FilterDescriptor | CompositeFilterDescriptor) => source is CompositeFilterDescriptor;
    

    Example usage

    const filters: Array = filter.filters;
    
    filters.forEach((element: FilterDescriptor | CompositeFilterDescriptor) => {
        if (isCompositeFilterDescriptor(element)) {
            // element type is CompositeFilterDescriptor
        } else {
            // element type is FilterDescriptor
        }
    });
    

提交回复
热议问题