MST

星途 面试题库

面试题:TypeScript 泛型编程实战之约束条件下的泛型组合

假设你有两个接口 `A` 和 `B`,`A` 有属性 `a: string`,`B` 有属性 `b: number`。编写一个泛型函数 `combine`,该函数接收两个泛型参数 `T` 和 `U`,`T` 继承自 `A`,`U` 继承自 `B`。函数返回一个新对象,该对象同时包含 `T` 和 `U` 的所有属性。并且要求在函数内部对 `T` 和 `U` 的属性进行一些简单处理(例如对 `a` 属性值转为大写,对 `b` 属性值翻倍)后再返回。
22.4万 热度难度
前端开发TypeScript

知识考点

AI 面试

面试题答案

一键面试
interface A {
    a: string;
}

interface B {
    b: number;
}

function combine<T extends A, U extends B>(t: T, u: U): { a: string; b: number } {
    return {
        a: t.a.toUpperCase(),
        b: u.b * 2
    };
}