MST
星途 面试题库

面试题:TypeScript 泛型在复杂数据结构操作中的应用

假设你正在开发一个前端项目,需要实现一个通用的函数,该函数能够对不同类型数组(如数字数组、字符串数组等)进行排序,并返回排序后的结果。请使用 TypeScript 泛型来实现这个函数,并解释泛型在这个场景下是如何提高代码的复用性和类型安全性的。
10.8万 热度难度
前端开发TypeScript

知识考点

AI 面试

面试题答案

一键面试
function sortArray<T>(array: T[]): T[] {
    return array.sort();
}

泛型提高代码复用性

通过使用泛型 TsortArray 函数不再局限于某一种特定类型的数组,比如仅能处理数字数组或字符串数组。它可以接受任何类型的数组,无论是 number[]string[] 还是自定义类型的数组,这样就大大提高了代码的复用性。无需针对每种不同类型的数组都单独编写一个排序函数。

泛型提高类型安全性

在没有泛型的情况下,如果使用普通的 JavaScript 函数来处理不同类型数组排序,函数无法明确知道传入数组的具体类型,可能会导致类型错误。而使用泛型 T,TypeScript 能够在编译阶段就检查类型的一致性。比如传入 number[],函数返回的也一定是 number[],确保了返回值类型与传入值类型一致,避免了运行时因为类型不匹配而产生的错误,从而提高了代码的类型安全性。