泛型参数R的使用场景是什么呢?

在学习泛型的时候:

R: 用于表示函数返回值的泛型类型参数。

function getResult<R>(value: R): R {
    return value;
}

请问这个R的使用场景是什么呢?

阅读 591
1 个回答

简单粗暴来说就是 函数预期的返回值类型传入的某一个参数类型一致

比如说我有一个函数,传入一个对象数组,返回值是这个对象数组中的某一项符合条件的结果。

// 定义泛型函数
function findItem<T>(items: T[], predicate: (item: T) => boolean): T | undefined {
  return items.find(predicate);
}

// 示例对象类型
interface Person {
  name: string;
  age: number;
}

// 示例对象数组
const people: Person[] = [
  { name: 'Alice', age: 25 },
  { name: 'Bob', age: 30 },
  { name: 'Charlie', age: 35 }
];

// 使用示例
const result = findItem(people, person => person.age > 30);

console.log(result); // 输出: { name: 'Charlie', age: 35 }

不过我TS用的并不多基本上就是一开始学了一些概念,后面实际业务中几乎就是运用不到的。
很多实际应用上面的理解都是借助 type-challenges 这个库中的题目。

推荐问题
logo
Microsoft
子站问答
访问
宣传栏