面试题答案
一键面试function getElement<T>(array: T[], index: number): T | undefined {
if (index >= 0 && index < array.length) {
return array[index];
}
return undefined;
}
泛型相较于普通类型定义的优势
- 代码复用性:使用泛型,同一个
getElement
函数可以处理任意类型的数组,而不需要为每种数组类型单独编写函数。如果使用普通类型定义,例如针对number[]
、string[]
等不同类型数组,就需要分别编写不同的函数。 - 类型安全:泛型在编译阶段就可以确保类型的一致性。传入不匹配的索引类型(非数字)时,TypeScript 编译器会报错,保证了程序的健壮性。同时,返回值的类型也与数组元素类型紧密相关,进一步增强了类型安全。