MST

星途 面试题库

面试题:TypeScript条件类型在泛型约束中的深度应用

编写一个泛型函数`processData`,它接受两个类型参数`T`和`U`。`T`必须是一个对象类型,`U`是一个字符串。若`T`中有一个属性名与`U`相同且该属性类型为数字,函数返回该数字加1;若`T`中不存在此属性,返回`null`。请使用条件类型结合泛型约束来实现该函数,并确保类型安全。
48.2万 热度难度
前端开发TypeScript

知识考点

AI 面试

面试题答案

一键面试
function processData<T extends object, U extends string>(obj: T, key: U): number | null {
    return key in obj && typeof (obj as any)[key] === 'number'? (obj as any)[key] + 1 : null;
}