MST

星途 面试题库

面试题:TypeScript函数类型与泛型结合

编写一个TypeScript函数,使用泛型来处理不同类型数组。该函数接受一个数组和一个索引值,返回数组中对应索引位置的元素。要求对函数进行类型定义,确保传入不匹配的索引类型(非数字)时能在编译阶段报错。同时,说明在这种场景下使用泛型相较于普通类型定义的优势。
20.2万 热度难度
前端开发TypeScript

知识考点

AI 面试

面试题答案

一键面试
function getElement<T>(array: T[], index: number): T | undefined {
    if (index >= 0 && index < array.length) {
        return array[index];
    }
    return undefined;
}

泛型相较于普通类型定义的优势

  1. 代码复用性:使用泛型,同一个 getElement 函数可以处理任意类型的数组,而不需要为每种数组类型单独编写函数。如果使用普通类型定义,例如针对 number[]string[] 等不同类型数组,就需要分别编写不同的函数。
  2. 类型安全:泛型在编译阶段就可以确保类型的一致性。传入不匹配的索引类型(非数字)时,TypeScript 编译器会报错,保证了程序的健壮性。同时,返回值的类型也与数组元素类型紧密相关,进一步增强了类型安全。