面试题答案
一键面试泛型在函数中的常见使用场景及示例
泛型在函数中常用于创建可复用的函数,这些函数可以处理不同类型的数据,而无需为每种类型编写重复的代码。
例如,设计一个泛型函数,它可以接受一个数组并返回该数组的第一个元素:
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 };