MST

星途 面试题库

面试题:TypeScript 泛型默认类型在复杂场景下的使用

假设有一个数据处理的场景,需要创建一个 `DataProcessor` 类,该类接受一个泛型类型 `T`。类中有一个方法 `process`,用于处理传入的数据并返回处理后的数据。现在要求在泛型 `T` 未指定时,使用默认类型 `{ value: string }`。请实现这个 `DataProcessor` 类,并在处理方法 `process` 中,将 `{ value: string }` 类型数据的 `value` 字段转为大写后返回。当传入其他类型时,简单返回传入的数据。
20.6万 热度难度
前端开发TypeScript

知识考点

AI 面试

面试题答案

一键面试
class DataProcessor<T = { value: string }> {
    process(data: T): T | { value: string } {
        if (typeof data === 'object' && 'value' in data && typeof (data as { value: string }).value ==='string') {
            return { value: (data as { value: string }).value.toUpperCase() } as { value: string };
        }
        return data;
    }
}