MST
星途 面试题库

面试题:TypeScript泛型:基础使用场景

请描述TypeScript泛型在函数和接口中的常见使用场景,并分别举例说明。例如,设计一个泛型函数,它可以接受一个数组并返回该数组的第一个元素;再设计一个泛型接口,用于描述一个包含特定键值对的对象,其中值的类型可以是任意类型。
12.7万 热度难度
前端开发TypeScript

知识考点

AI 面试

面试题答案

一键面试

泛型在函数中的常见使用场景及示例

泛型在函数中常用于创建可复用的函数,这些函数可以处理不同类型的数据,而无需为每种类型编写重复的代码。

例如,设计一个泛型函数,它可以接受一个数组并返回该数组的第一个元素:

function getFirst<T>(arr: T[]): T | undefined {
    return arr.length > 0 ? arr[0] : undefined;
}

const numbers = [1, 2, 3];
const firstNumber = getFirst(numbers);

const strings = ['a', 'b', 'c'];
const firstString = getFirst(strings);

泛型在接口中的常见使用场景及示例

泛型接口常用于描述对象的形状,其中对象的某些属性值的类型可以是任意类型,这样可以增加接口的复用性。

例如,设计一个泛型接口,用于描述一个包含特定键值对的对象,其中值的类型可以是任意类型:

interface KeyValuePair<K, V> {
    key: K;
    value: V;
}

const pair1: KeyValuePair<string, number> = { key: 'count', value: 42 };
const pair2: KeyValuePair<number, boolean> = { key: 1, value: true };