MST

星途 面试题库

面试题:TypeScript 条件类型在项目数据处理中的应用

假设项目中有一个接口返回的数据可能是多种类型(如字符串、数字、对象数组等),并且根据不同的数据类型,需要进行不同的处理逻辑。请使用 TypeScript 的条件类型来实现一个类型工具,根据输入的数据类型,返回对应的处理函数类型。例如,如果输入是字符串类型,返回一个处理字符串的函数类型;如果是数字类型,返回处理数字的函数类型等。
39.3万 热度难度
前端开发TypeScript

知识考点

AI 面试

面试题答案

一键面试
type StringHandler = (str: string) => void;
type NumberHandler = (num: number) => void;
type ArrayHandler<T> = (arr: T[]) => void;

type DataProcessor<T> =
  T extends string ? StringHandler :
  T extends number ? NumberHandler :
  T extends Array<infer U> ? ArrayHandler<U> :
  never;

// 示例使用
let strProcessor: DataProcessor<string>;
let numProcessor: DataProcessor<number>;
let arrProcessor: DataProcessor<{ value: string }[]>;