MST

星途 面试题库

面试题:TypeScript中使用条件类型和映射类型灵活处理不同类型变量

定义一个类型`Transform<T>`,它能够根据传入的类型`T`进行如下转换:如果`T`是字符串类型,转换为其长度类型;如果`T`是数字类型,转换为其平方类型;如果`T`是布尔类型,转换为其相反类型。同时编写一个泛型函数`transformValue`,接收一个泛型参数`T`,其类型为`Transform<T>`,并返回转换后的值。请给出完整的TypeScript代码实现。
43.9万 热度难度
前端开发TypeScript

知识考点

AI 面试

面试题答案

一键面试
type Transform<T> =
    T extends string ? number :
    T extends number ? T * T :
    T extends boolean ? !T :
    never;

function transformValue<T>(value: Transform<T>): Transform<T> {
    return value;
}